Player-by-player trace from JSON pipeline. Metric-by-metric comparison without wide horizontal table dependency.
Windows shown explicitly: newly generated team recent form targets the latest 10 games; each game below shows the window actually stored in its artifact. Player historical helpers = 75 games; balancing rates = 162 games.
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 | LAA 3 - 4 HOU | HOU | 0.542 | scoring_simulation.final_score | True |
| Simulation draw | LAA 3 - 4 HOU | HOU | - | organic_score_same_winner | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5804; empirical=0.5037; weight=0.5000; final=0.5421 |
| P1 | H2H margin as base feature | available | home net=5; abs=5; home delta=0.0288; away delta=-0.0288 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=1.6500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=0.5675; recent edge=-0.1600; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 7 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5421 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_score_same_winner |
| 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.111 | 5.430 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5421 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 3 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 3 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5038112980645162,
"base_low_score_probability": 0.432258064516129,
"low_score_signal_threshold": 0.512258064516129,
"low_score_signal_strength": 0.07155323354838716,
"confidence": 0.6827668,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.1,
"team_form": 1.06,
"situational": 1.0,
"combined": 1.1655336
},
"prediction": "normal_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 7,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 270,
"near_bucket_sample_size": 270,
"medium_bucket_sample_size": 361,
"wide_bucket_sample_size": 416,
"global_sample_size": 597,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5037,
"bayesian_hit_rate": 0.5035,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.9375,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5085,
"calibrated_pick_probability": 0.505,
"predicted_side": "home"
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.580448,
"sample_size": 270,
"empirical_hit_rate": 0.5037,
"empirical_weight": 0.5,
"blended_confidence": 0.542074,
"published_confidence": 0.542074,
"published_after_governors": true
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": 5.0,
"absolute_net_margin": 5.0,
"home_average_margin": 1.0,
"home_run_delta": 0.0288,
"away_run_delta": -0.0288,
"evidence": [
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": -2.0
},
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": 2.0
}
]
}{
"applied": false,
"home": {
"team": "HOU",
"games": 126,
"wins": 63,
"losses": 63,
"win_pct": 0.5,
"runs_scored": 577,
"runs_allowed": 609,
"run_differential": -32,
"run_differential_per_game": -0.25396825396825395,
"available": true
},
"away": {
"team": "LAA",
"games": 126,
"wins": 50,
"losses": 76,
"win_pct": 0.3968253968253968,
"runs_scored": 510,
"runs_allowed": 594,
"run_differential": -84,
"run_differential_per_game": -0.6666666666666666,
"available": true
},
"run_differential_edge_per_game": 0.4127,
"win_pct_edge": 0.1032,
"quality_edge": 0.3128,
"season_quality_edge": 0.5675,
"recent_quality_blend": {
"method": "season_recent10_quality_blend_v1",
"recent_window": 10,
"season_quality_edge": 0.5675,
"recent_quality_edge": -0.16,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": 0.3128
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.03553958806758486
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.03287022981861162
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.032129251671872076
},
{
"home_runs": 3,
"away_runs": 2,
"probability": 0.03212210593468056
},
{
"home_runs": 2,
"away_runs": 3,
"probability": 0.03160320002597335
}
],
"home_distribution": {
"0": 0.0730502799284408,
"1": 0.1214465471742014,
"2": 0.1660571119997195,
"3": 0.18674062599080327,
"4": 0.17271464376897688,
"5": 0.1313797808754725,
"6": 0.08219339631670927,
"7": 0.042291621876227016,
"8": 0.01789702216585826,
"9": 0.0062289699035911
},
"away_distribution": {
"0": 0.07666338014023386,
"1": 0.1270388814232502,
"2": 0.17201455636259103,
"3": 0.19031524543210612,
"4": 0.17205282193631716,
"5": 0.12709540869033653,
"6": 0.07671455408022179,
"7": 0.03783602545870976,
"8": 0.015248007404321254,
"9": 0.005021119071912279
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.56,
"winner_flipped": false,
"reasons": [
"recent head-to-head is split and volatile",
"local prediction memory shows 2 straight prior same-side picks",
"a prior same-side pick already missed against the actual result"
],
"signals": {
"predicted_team": "HOU",
"opponent_team": "LAA",
"h2h_net_margin": 2,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-08-19",
"predicted_team_runs": 3,
"opponent_runs": 2,
"margin_for_predicted_team": 1,
"winner": "HOU"
},
{
"date": "2026-08-18",
"predicted_team_runs": 1,
"opponent_runs": 3,
"margin_for_predicted_team": -2,
"winner": "LAA"
},
{
"date": "2026-07-29",
"predicted_team_runs": 7,
"opponent_runs": 4,
"margin_for_predicted_team": 3,
"winner": "HOU"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 4,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 0,
"prior_predictions": [
{
"date": "20260819",
"away": "LAA",
"home": "HOU",
"game_number": 1,
"predicted_team": "HOU",
"actual_winner": "HOU",
"actual_margin": 1,
"raw_pick_probability": 0.517613,
"artifact": "20260819_LAA@HOU.json",
"verification": "pregame_official_final"
},
{
"date": "20260818",
"away": "LAA",
"home": "HOU",
"game_number": 1,
"predicted_team": "HOU",
"actual_winner": "LAA",
"actual_margin": 2,
"raw_pick_probability": 0.53,
"artifact": "20260818_LAA@HOU.json",
"verification": "pregame_official_final"
},
{
"date": "20260728",
"away": "HOU",
"home": "LAA",
"game_number": 1,
"predicted_team": "LAA",
"actual_winner": "HOU",
"actual_margin": 1,
"raw_pick_probability": 0.51,
"artifact": "20260728_HOU@LAA.json",
"verification": "pregame_official_final"
},
{
"date": "20260727",
"away": "HOU",
"home": "LAA",
"game_number": 1,
"predicted_team": "LAA",
"actual_winner": "HOU",
"actual_margin": 2,
"raw_pick_probability": 0.6,
"artifact": "20260727_HOU@LAA.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "HOU",
"guardrail_opponent_team": "LAA",
"output_pre_simulation_winner": "HOU",
"output_opponent_team": "LAA",
"simulation_score_winner": "HOU",
"final_score_winner": "HOU",
"pre_simulation_winner": "HOU",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": false,
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0621,
"recent_form_edge_home_minus_away": -0.1017,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 3,
"home_runs": 4,
"winner": "HOU",
"model_winner": "HOU",
"simulation_winner": "HOU",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 3,
"home_runs": 4
},
"simulation_score": {
"away_runs": 3,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.3128,
"winner": "HOU",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "HOU",
"games": 126,
"wins": 63,
"losses": 63,
"win_pct": 0.5,
"runs_scored": 577,
"runs_allowed": 609,
"run_differential": -32,
"run_differential_per_game": -0.25396825396825395,
"available": true
},
"away": {
"team": "LAA",
"games": 126,
"wins": 50,
"losses": 76,
"win_pct": 0.3968253968253968,
"runs_scored": 510,
"runs_allowed": 594,
"run_differential": -84,
"run_differential_per_game": -0.6666666666666666,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.1,
"final_margin": 0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.3128,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.542074,
"final_confidence": 0.542074,
"confidence_cap": 0.66,
"score_gap": 0.1,
"calibration_sample_size": 270,
"calibration_empirical_hit_rate": 0.5037,
"calibration_bayesian_hit_rate": 0.5035,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.3128,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0621,
"recent_form_edge_home_minus_away": -0.1017,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 3,
"home_runs": 4,
"winner": "HOU",
"model_winner": "HOU",
"simulation_winner": "HOU",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 3,
"home_runs": 4
},
"simulation_score": {
"away_runs": 3,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.3128,
"winner": "HOU",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 4,
"confidence": 0.542074,
"home_win_probability": 0.542074,
"away_win_probability": 0.45792600000000006,
"predicted_score_text": "LAA 3 - 4 HOU",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "LAA",
"original_runs": 3,
"run_delta": -0.2553,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": -0.05990754502332138,
"contact": -0.24971114501903813,
"power": -0.18179830545138176,
"discipline": 0.01888201578815006,
"xwoba": 0.3050625,
"recent_xwoba": 0.3050625,
"barrel": 6.934374999999999,
"ab_hard_contact": -0.207162537599067,
"ab_bat_speed": 68.41056022899298,
"ab_strikeout_rate": 0.23884855554729417,
"available_players": 9,
"top_players": [
{
"player_id": "545361",
"player_name": "Mike Trout",
"position": "CF",
"weight": 4.0,
"quality": 1.0443728878416927,
"contact": 0.864116305228133,
"power": 1.3483375905516428,
"discipline": 0.9685623884962709,
"xwoba": 0.382,
"recent_xwoba": 0.382,
"barrel": 15.7,
"ab_hard_contact": 0.6187518110328614,
"ab_bat_speed": 73.38992546421085,
"ab_strikeout_rate": 0.26619496855345914,
"available": 1.0
},
{
"player_id": "623168",
"player_name": "Tyler Heineman",
"position": "C",
"weight": 3.0,
"quality": -0.737387452339985,
"contact": -1.2561691969859603,
"power": -1.6456940163551212,
"discipline": -0.23906917356251506,
"xwoba": 0.249,
"recent_xwoba": 0.249,
"barrel": 0.9,
"ab_hard_contact": -1.4634041366262402,
"ab_bat_speed": 61.03757936507937,
"ab_strikeout_rate": 0.1520408163265306,
"available": 1.0
},
{
"player_id": "624428",
"player_name": "Adam Frazier",
"position": "2B",
"weight": 3.0,
"quality": -0.6918053164062942,
"contact": -1.6574973878873205,
"power": -1.5824087640966729,
"discipline": -0.3721831191407463,
"xwoba": 0.242,
"recent_xwoba": 0.242,
"barrel": 1.4,
"ab_hard_contact": -1.6626514724096586,
"ab_bat_speed": 62.13347569444444,
"ab_strikeout_rate": 0.3370833333333333,
"available": 1.0
},
{
"player_id": "685133",
"player_name": "Wade Meckler",
"position": "LF",
"weight": 3.0,
"quality": -0.3694777444110619,
"contact": -0.22746216750750223,
"power": -0.6565778710996025,
"discipline": 0.08624148403385688,
"xwoba": 0.304,
"recent_xwoba": 0.304,
"barrel": 3.2,
"ab_hard_contact": -0.1871764696111021,
"ab_bat_speed": 67.20666005291005,
"ab_strikeout_rate": 0.23015873015873015,
"available": 1.0
},
{
"player_id": "687263",
"player_name": "Zach Neto",
"position": "SS",
"weight": 5.0,
"quality": -0.24790456354320292,
"contact": -0.6423861572940504,
"power": 0.3053106624872398,
"discipline": -0.5392711750242567,
"xwoba": 0.295,
"recent_xwoba": 0.295,
"barrel": 11.4,
"ab_hard_contact": -0.02788198835045036,
"ab_bat_speed": 69.03616289518563,
"ab_strikeout_rate": 0.32038567493112946,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "663567",
"player_name": "Peter Lambert",
"quality": 0.2901782154538889,
"contact": 0.6150624709113144,
"command": -0.07280555555555569,
"movement": -0.04697115934032796,
"xwoba": 0.284,
"whiff": 25.6,
"faced_est_woba": 0.26554733936838626,
"faced_launch_speed": 83.81281249999999,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006569135802469128
}
},
"home": {
"team": "HOU",
"original_runs": 4,
"run_delta": 0.2796,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": -0.09058655695272291,
"contact": -0.26048076156271827,
"power": -0.18295351732499607,
"discipline": 0.2202093770779731,
"xwoba": 0.3086666666666666,
"recent_xwoba": 0.30866666666666664,
"barrel": 7.536363636363636,
"ab_hard_contact": -0.15596614027785718,
"ab_bat_speed": 69.79768365923599,
"ab_strikeout_rate": 0.21357828300205978,
"available_players": 9,
"top_players": [
{
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"weight": 4.0,
"quality": 1.8292964338390914,
"contact": 2.0,
"power": 2.0,
"discipline": 1.2041988090403621,
"xwoba": 0.458,
"recent_xwoba": 0.458,
"barrel": 17.5,
"ab_hard_contact": 1.58832398704636,
"ab_bat_speed": 75.40454953812126,
"ab_strikeout_rate": 0.17684426229508196,
"available": 1.0
},
{
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"weight": 3.0,
"quality": -1.1205490331838315,
"contact": -1.3247434446050077,
"power": -1.2933926654620798,
"discipline": 0.09006688085925373,
"xwoba": 0.243,
"recent_xwoba": 0.24300000000000002,
"barrel": 2.3,
"ab_hard_contact": -1.1634723568606509,
"ab_bat_speed": 62.32601884920635,
"ab_strikeout_rate": 0.21404761904761904,
"available": 1.0
},
{
"player_id": "669397",
"player_name": "Nick Allen",
"position": "SS",
"weight": 3.0,
"quality": -0.7154125783336442,
"contact": -1.4496977986016064,
"power": -1.4034399106803634,
"discipline": -0.37110573818836545,
"xwoba": 0.231,
"recent_xwoba": 0.231,
"barrel": 2.2,
"ab_hard_contact": -0.8105124993215642,
"ab_bat_speed": 65.83231481481481,
"ab_strikeout_rate": 0.19479166666666667,
"available": 1.0
},
{
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"weight": 5.0,
"quality": -0.6733619015163784,
"contact": -0.7542073668134869,
"power": -0.7741915413292876,
"discipline": 0.06655990635227922,
"xwoba": 0.277,
"recent_xwoba": 0.277,
"barrel": 4.9,
"ab_hard_contact": -0.7272593980143239,
"ab_bat_speed": 66.74780751964084,
"ab_strikeout_rate": 0.214983164983165,
"available": 1.0
},
{
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"weight": 4.0,
"quality": 0.4309511915134435,
"contact": 0.28293708785541033,
"power": 0.7609807332860102,
"discipline": -0.34579110481289127,
"xwoba": 0.328,
"recent_xwoba": 0.328,
"barrel": 11.8,
"ab_hard_contact": 0.9099003800059005,
"ab_bat_speed": 75.98244328557382,
"ab_strikeout_rate": 0.23790560471976402,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "680570",
"player_name": "Grayson Rodriguez",
"quality": -0.8147525356446893,
"contact": -1.3394300820933691,
"command": -0.3686626984126985,
"movement": -0.2639396380647703,
"xwoba": 0.379,
"whiff": 24.1,
"faced_est_woba": 0.26554733936838626,
"faced_launch_speed": 83.81281249999999,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006569135802469128
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.3128,
"recent_form_edge_home_minus_away": -0.1017,
"pitcher_matchup_edge_home_minus_away": 0.0621,
"composite_home_edge": 0.4632,
"existing_home_win_probability": 0.505,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.4632
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "LAA 3 - 4 HOU",
"confidence": 0.542074,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_score_same_winner",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 HOU",
"winner": "HOU"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 HOU",
"winner": "HOU"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0621,
"recent_form_edge_home_minus_away": -0.1017,
"winner_direction": "home",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 3,
"home_runs": 4,
"winner": "HOU",
"model_winner": "HOU",
"simulation_winner": "HOU",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 3,
"home_runs": 4
},
"simulation_score": {
"away_runs": 3,
"home_runs": 4
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.3128,
"winner": "HOU",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "HOU",
"display_confidence": 0.5421,
"internal_signal_score": 0.6081,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5421,
"confidence_compression_detected": true,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.3128,
"winner_recent_form_edge": -0.16,
"winner_pitcher_matchup_edge": 0.0621,
"winner_simulation_draw_rate": 0.7,
"blowout_draw_rate_margin_4_plus": 0.2,
"high_total_draw_rate_11_plus": 0.2,
"low_total_draw_rate_6_or_less": 0.3,
"total_runs_spread": {
"min": 2,
"median": 7,
"max": 14,
"range": 12
}
},
"interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away LAA | True | 1.0065 | 1.0065 | 1 | 9 | 0 |
| Home HOU | True | 0.9973 | 0.9973 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Wade Meckler | 144 | 0.9834 | -0.2210 | neutral | 0.3040 | 0.2530 | 0.3540 | 3.20 | 32.30 | 86.50 | 6.60 | 23.10 | 21.80 | 8.90 | -0.6857 |
| DH | Moisés Ballesteros | 591 | 1.0227 | 0.3024 | positive_batter_regression | 0.3020 | 0.2320 | 0.3720 | 8.20 | 46.30 | 90.50 | 10.50 | 26.90 | 20.90 | 9.60 | 0.9429 |
| 3B | Vaughn Grissom | 338 | 1.0110 | 0.1463 | neutral | 0.3090 | 0.2490 | 0.3800 | 6.40 | 38.30 | 88.20 | 12.70 | 22.60 | 18.60 | 6.80 | 0.2857 |
| RF | Josh Lowe | 530 | 1.0062 | 0.0831 | neutral | 0.2960 | 0.2230 | 0.4000 | 8.60 | 38.90 | 89.10 | 19 | 31.30 | 28.20 | 7.10 | 0.5143 |
| SS | Zach Neto | 72 | 0.9949 | -0.0675 | neutral | 0.2950 | 0.1980 | 0.3830 | 11.40 | 39.70 | 89.20 | 22.70 | 33.70 | 31.40 | 9.50 | -0.5714 |
| 1B | Nolan Schanuel | 91 | 1.0284 | 0.3783 | neutral | 0.3360 | 0.2870 | 0.3900 | 2.40 | 33.30 | 87.50 | 12.10 | 16.40 | 13.10 | 9.50 | 0.1429 |
| CF | Mike Trout | 36 | 1.1131 | 1.5083 | neutral | 0.3820 | 0.2540 | 0.4950 | 15.70 | 46.10 | 90 | 18.20 | 23.80 | 25.50 | 17.20 | 0.6857 |
| 2B | Adam Frazier | 274 | 0.9480 | -0.6928 | negative_batter_regression | 0.2420 | 0.1940 | 0.2570 | 1.40 | 15.90 | 84.90 | 14.10 | 26 | 28.20 | 8.20 | -1.4286 |
| C | Tyler Heineman | 449 | 0.9508 | -0.6556 | positive_batter_regression | 0.2490 | 0.2260 | 0.2730 | 0.90 | 12.80 | 81.50 | 11.60 | 18.80 | 16 | 3.30 | 1 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | LaMonte Wade Jr. | 375 | 0.9806 | -0.2589 | neutral | 0.2910 | 0.2050 | 0.2940 | 3.20 | 34.90 | 86.60 | 12.70 | 21 | 21 | 16 | -0.8000 |
| DH | Yordan Alvarez | 4 | 1.1500 | 2 | neutral | 0.4580 | 0.3290 | 0.6750 | 17.50 | 53.40 | 94.50 | 19.30 | 20 | 17.10 | 15.60 | 0.7429 |
| LF | Taylor Trammell | 553 | 1.0015 | 0.0201 | neutral | 0.3020 | 0.2000 | 0.4000 | 12.90 | 37.10 | 88.70 | 13.90 | 40.40 | 32.20 | 9.30 | -0.0857 |
| CF | Daulton Varsho | 253 | 0.9861 | -0.1852 | neutral | 0.2890 | 0.2320 | 0.3540 | 6 | 37.80 | 86.70 | 15.40 | 21 | 19.80 | 8.40 | 0.0571 |
| 3B | Isaac Paredes | 59 | 1.0063 | 0.0844 | neutral | 0.3250 | 0.2510 | 0.3770 | 5.30 | 28.60 | 86 | 23.50 | 15.40 | 13.60 | 9.60 | -0.5429 |
| 2B | Jose Altuve | 326 | 0.9524 | -0.6342 | negative_batter_regression | 0.2770 | 0.2240 | 0.3310 | 4.90 | 31.40 | 85.10 | 9.60 | 22.40 | 20.20 | 8.10 | -0.9714 |
| RF | Cam Smith | 186 | 1.0516 | 0.6885 | neutral | 0.3280 | 0.2460 | 0.4400 | 11.80 | 45.20 | 89.40 | 11.70 | 29 | 24.60 | 7.70 | 0.7429 |
| SS | Nick Allen | 254 | 0.9378 | -0.8298 | negative_batter_regression | 0.2310 | 0.2040 | 0.2590 | 2.20 | 25.80 | 85.20 | 15.20 | 25.60 | 21.10 | 5.50 | -1.3714 |
| C | Christian Vázquez | 218 | 0.9091 | -1.2120 | negative_batter_regression | 0.2430 | 0.2000 | 0.2800 | 2.30 | 23.80 | 86 | 15 | 19.80 | 18.90 | 7.30 | -0.9714 |
{
"home": {
"applied": true,
"offense_factor": 0.9973,
"raw_average_factor": 0.9973,
"team_espn_average_rank": 247.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "664774",
"player_name": "LaMonte Wade Jr.",
"offense_factor": 0.9806,
"quality_score": -0.2589,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664774",
"espn_id": 37798,
"player_name": "LaMonte Wade Jr.",
"team": "HOU",
"role": "batter",
"espn_rank": 375,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 375,
"gp_value": 34.0,
"gp_rank": 426,
"ab_value": 84.0,
"ab_rank": 433,
"r_value": 11.0,
"r_rank": 411,
"h_value": 19.0,
"h_rank": 427,
"avg_value": 0.2261904,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 390,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 2.0,
"hr_rank": 392,
"rbi_value": 15.0,
"rbi_rank": 354,
"tb_value": 29.0,
"tb_rank": 2535,
"bb_value": 16.0,
"bb_rank": 301,
"so_value": 21.0,
"so_rank": 442,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.35,
"obp_rank": "-",
"slg_value": 0.345238,
"slg_rank": "-",
"ops_value": 0.695238,
"ops_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 96.0,
"k_percent": 21.0,
"bb_percent": 16.0,
"woba": 0.319,
"xwoba": 0.291,
"xba": 0.205,
"xslg": 0.294,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 34.9,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 12.7,
"whiff_percent": 21.0,
"swing_percent": 38.4
},
"components": {
"expected_quality": -0.5386,
"regression_edge": -0.8,
"xwoba_edge": -0.3143,
"xba_edge": -0.9143,
"xslg_edge": -1.0571,
"barrel_edge": -0.8,
"hard_hit_edge": -0.3929,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670541",
"espn_id": 36018,
"player_name": "Yordan Alvarez",
"team": "HOU",
"role": "batter",
"espn_rank": 4,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 4,
"gp_value": 125.0,
"gp_rank": 22,
"ab_value": 454.0,
"ab_rank": 50,
"r_value": 83.0,
"r_rank": 7,
"h_value": 144.0,
"h_rank": 4,
"avg_value": 0.3171806,
"avg_rank": 2.0,
"2b_value": 25.0,
"2b_rank": 28,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 36.0,
"hr_rank": 2,
"rbi_value": 88.0,
"rbi_rank": 5,
"tb_value": 277.0,
"tb_rank": 572,
"bb_value": 86.0,
"bb_rank": 4,
"so_value": 95.0,
"so_rank": 95,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.430127,
"obp_rank": "1",
"slg_value": 0.6101321,
"slg_rank": "1",
"ops_value": 1.0402591,
"ops_rank": 2.0,
"war_value": 5.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 516.0,
"k_percent": 17.1,
"bb_percent": 15.6,
"woba": 0.432,
"xwoba": 0.458,
"xba": 0.329,
"xslg": 0.675,
"sweet_spot_percent": 41.9,
"barrel_batted_rate": 17.5,
"hard_hit_percent": 53.4,
"exit_velocity_avg": 94.5,
"launch_angle_avg": 19.3,
"whiff_percent": 20.0,
"swing_percent": 42.8
},
"components": {
"expected_quality": 2.369,
"regression_edge": 0.7429,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 2.3778,
"hard_hit_edge": 2.25,
"exit_velocity_edge": 2.36,
"sweet_spot_edge": 1.4333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "666211",
"player_name": "Taylor Trammell",
"offense_factor": 1.0015,
"quality_score": 0.0201,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666211",
"espn_id": 37773,
"player_name": "Taylor Trammell",
"team": "HOU",
"role": "batter",
"espn_rank": 553,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 553,
"gp_value": 69.0,
"gp_rank": 301,
"ab_value": 181.0,
"ab_rank": 309,
"r_value": 26.0,
"r_rank": 268,
"h_value": 39.0,
"h_rank": 319,
"avg_value": 0.2154696,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 331,
"3b_value": 2.0,
"3b_rank": 61,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 20.0,
"rbi_rank": 317,
"tb_value": 70.0,
"tb_rank": 1429,
"bb_value": 19.0,
"bb_rank": 261,
"so_value": 66.0,
"so_rank": 208,
"sb_value": 3.0,
"sb_rank": 220,
"obp_value": 0.3039215,
"obp_rank": "-",
"slg_value": 0.3867403,
"slg_rank": "-",
"ops_value": 0.6906618,
"ops_rank": null,
"war_value": -0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 198.0,
"k_percent": 32.2,
"bb_percent": 9.3,
"woba": 0.305,
"xwoba": 0.302,
"xba": 0.2,
"xslg": 0.4,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 37.1,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 13.9,
"whiff_percent": 40.4,
"swing_percent": 48.0
},
"components": {
"expected_quality": 0.0399,
"regression_edge": -0.0857,
"xwoba_edge": 0.0,
"xba_edge": -1.0571,
"xslg_edge": 0.4571,
"barrel_edge": 1.3556,
"hard_hit_edge": -0.0786,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": -1.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "662139",
"player_name": "Daulton Varsho",
"offense_factor": 0.9861,
"quality_score": -0.1852,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662139",
"espn_id": 40963,
"player_name": "Daulton Varsho",
"team": "HOU",
"role": "batter",
"espn_rank": 253,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 253,
"gp_value": 113.0,
"gp_rank": 115,
"ab_value": 381.0,
"ab_rank": 121,
"r_value": 42.0,
"r_rank": 167,
"h_value": 87.0,
"h_rank": 140,
"avg_value": 0.2283464,
"avg_rank": 125.0,
"2b_value": 19.0,
"2b_rank": 101,
"3b_value": 2.0,
"3b_rank": 61,
"hr_value": 8.0,
"hr_rank": 199,
"rbi_value": 29.0,
"rbi_rank": 243,
"tb_value": 134.0,
"tb_rank": 960,
"bb_value": 35.0,
"bb_rank": 135,
"so_value": 83.0,
"so_rank": 136,
"sb_value": 10.0,
"sb_rank": 73,
"obp_value": 0.2959427,
"obp_rank": "135",
"slg_value": 0.351706,
"slg_rank": "142",
"ops_value": 0.6476487,
"ops_rank": 7.0,
"war_value": 0.61,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 408.0,
"k_percent": 19.8,
"bb_percent": 8.4,
"woba": 0.287,
"xwoba": 0.289,
"xba": 0.232,
"xslg": 0.354,
"sweet_spot_percent": 33.4,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 37.8,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 15.4,
"whiff_percent": 21.0,
"swing_percent": 52.9
},
"components": {
"expected_quality": -0.2246,
"regression_edge": 0.0571,
"xwoba_edge": -0.3714,
"xba_edge": -0.1429,
"xslg_edge": -0.2,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.0214,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": 0.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "670623",
"player_name": "Isaac Paredes",
"offense_factor": 1.0063,
"quality_score": 0.0844,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670623",
"espn_id": 39706,
"player_name": "Isaac Paredes",
"team": "HOU",
"role": "batter",
"espn_rank": 59,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 59,
"gp_value": 120.0,
"gp_rank": 65,
"ab_value": 439.0,
"ab_rank": 74,
"r_value": 48.0,
"r_rank": 134,
"h_value": 114.0,
"h_rank": 62,
"avg_value": 0.259681,
"avg_rank": 66.0,
"2b_value": 21.0,
"2b_rank": 71,
"3b_value": 1.0,
"3b_rank": 122,
"hr_value": 16.0,
"hr_rank": 80,
"rbi_value": 67.0,
"rbi_rank": 41,
"tb_value": 185.0,
"tb_rank": 617,
"bb_value": 49.0,
"bb_rank": 57,
"so_value": 69.0,
"so_rank": 193,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.3536345,
"obp_rank": "39",
"slg_value": 0.4214123,
"slg_rank": "80",
"ops_value": 0.7750468,
"ops_rank": 119.0,
"war_value": 2.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 500.0,
"k_percent": 13.6,
"bb_percent": 9.6,
"woba": 0.344,
"xwoba": 0.325,
"xba": 0.251,
"xslg": 0.377,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 28.6,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 23.5,
"whiff_percent": 15.4,
"swing_percent": 43.7
},
"components": {
"expected_quality": 0.1865,
"regression_edge": -0.5429,
"xwoba_edge": 0.6571,
"xba_edge": 0.4,
"xslg_edge": 0.1286,
"barrel_edge": -0.3333,
"hard_hit_edge": -1.2929,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "514888",
"player_name": "Jose Altuve",
"offense_factor": 0.9524,
"quality_score": -0.6342,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "514888",
"espn_id": 31662,
"player_name": "Jose Altuve",
"team": "HOU",
"role": "batter",
"espn_rank": 326,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 326,
"gp_value": 101.0,
"gp_rank": 161,
"ab_value": 390.0,
"ab_rank": 111,
"r_value": 56.0,
"r_rank": 97,
"h_value": 96.0,
"h_rank": 115,
"avg_value": 0.2461538,
"avg_rank": 91.0,
"2b_value": 16.0,
"2b_rank": 143,
"3b_value": 2.0,
"3b_rank": 61,
"hr_value": 13.0,
"hr_rank": 118,
"rbi_value": 37.0,
"rbi_rank": 187,
"tb_value": 155.0,
"tb_rank": 734,
"bb_value": 35.0,
"bb_rank": 135,
"so_value": 87.0,
"so_rank": 118,
"sb_value": 4.0,
"sb_rank": 187,
"obp_value": 0.3100233,
"obp_rank": "114",
"slg_value": 0.3974358,
"slg_rank": "108",
"ops_value": 0.7074591,
"ops_rank": 222.0,
"war_value": 0.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 419.0,
"k_percent": 20.2,
"bb_percent": 8.1,
"woba": 0.311,
"xwoba": 0.277,
"xba": 0.224,
"xslg": 0.331,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 31.4,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 9.6,
"whiff_percent": 22.4,
"swing_percent": 47.9
},
"components": {
"expected_quality": -0.5793,
"regression_edge": -0.9714,
"xwoba_edge": -0.7143,
"xba_edge": -0.3714,
"xslg_edge": -0.5286,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.8929,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "701358",
"player_name": "Cam Smith",
"offense_factor": 1.0516,
"quality_score": 0.6885,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701358",
"espn_id": 5080766,
"player_name": "Cam Smith",
"team": "HOU",
"role": "batter",
"espn_rank": 186,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 186,
"gp_value": 124.0,
"gp_rank": 27,
"ab_value": 405.0,
"ab_rank": 100,
"r_value": 54.0,
"r_rank": 104,
"h_value": 90.0,
"h_rank": 130,
"avg_value": 0.2222222,
"avg_rank": 132.0,
"2b_value": 15.0,
"2b_rank": 164,
"3b_value": 3.0,
"3b_rank": 26,
"hr_value": 17.0,
"hr_rank": 66,
"rbi_value": 47.0,
"rbi_rank": 124,
"tb_value": 162.0,
"tb_rank": 544,
"bb_value": 35.0,
"bb_rank": 135,
"so_value": 111.0,
"so_rank": 56,
"sb_value": 10.0,
"sb_rank": 73,
"obp_value": 0.2904656,
"obp_rank": "141",
"slg_value": 0.4,
"slg_rank": "105",
"ops_value": 0.6904656,
"ops_rank": 246.0,
"war_value": 1.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 441.0,
"k_percent": 24.6,
"bb_percent": 7.7,
"woba": 0.302,
"xwoba": 0.328,
"xba": 0.246,
"xslg": 0.44,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 11.7,
"whiff_percent": 29.0,
"swing_percent": 48.6
},
"components": {
"expected_quality": 0.6796,
"regression_edge": 0.7429,
"xwoba_edge": 0.7429,
"xba_edge": 0.2571,
"xslg_edge": 1.0286,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.0786,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "669397",
"player_name": "Nick Allen",
"offense_factor": 0.9378,
"quality_score": -0.8298,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669397",
"espn_id": 40338,
"player_name": "Nick Allen",
"team": "HOU",
"role": "batter",
"espn_rank": 254,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 254,
"gp_value": 70.0,
"gp_rank": 295,
"ab_value": 115.0,
"ab_rank": 391,
"r_value": 20.0,
"r_rank": 322,
"h_value": 29.0,
"h_rank": 375,
"avg_value": 0.2521739,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 390,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 2.0,
"hr_rank": 392,
"rbi_value": 13.0,
"rbi_rank": 372,
"tb_value": 39.0,
"tb_rank": 2483,
"bb_value": 7.0,
"bb_rank": 420,
"so_value": 27.0,
"so_rank": 407,
"sb_value": 2.0,
"sb_rank": 255,
"obp_value": 0.2936507,
"obp_rank": "-",
"slg_value": 0.3391304,
"slg_rank": "-",
"ops_value": 0.6327811,
"ops_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 123.0,
"k_percent": 21.1,
"bb_percent": 5.5,
"woba": 0.279,
"xwoba": 0.231,
"xba": 0.204,
"xslg": 0.259,
"sweet_spot_percent": 23.7,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 25.8,
"exit_velocity_avg": 85.2,
"launch_angle_avg": 15.2,
"whiff_percent": 25.6,
"swing_percent": 46.8
},
"components": {
"expected_quality": -1.5026,
"regression_edge": -1.3714,
"xwoba_edge": -2.0286,
"xba_edge": -0.9429,
"xslg_edge": -1.5571,
"barrel_edge": -1.0222,
"hard_hit_edge": -1.6929,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": -1.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "543877",
"player_name": "Christian Vázquez",
"offense_factor": 0.9091,
"quality_score": -1.212,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "543877",
"espn_id": 31389,
"player_name": "Christian Vazquez",
"team": "HOU",
"role": "batter",
"espn_rank": 218,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 218,
"gp_value": 74.0,
"gp_rank": 273,
"ab_value": 210.0,
"ab_rank": 275,
"r_value": 21.0,
"r_rank": 312,
"h_value": 46.0,
"h_rank": 286,
"avg_value": 0.2190476,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 305,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 25.0,
"rbi_rank": 271,
"tb_value": 74.0,
"tb_rank": 1790,
"bb_value": 17.0,
"bb_rank": 291,
"so_value": 44.0,
"so_rank": 305,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.2763157,
"obp_rank": "-",
"slg_value": 0.3523809,
"slg_rank": "-",
"ops_value": 0.6286966,
"ops_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 18.9,
"bb_percent": 7.3,
"woba": 0.277,
"xwoba": 0.243,
"xba": 0.2,
"xslg": 0.28,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 23.8,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 15.0,
"whiff_percent": 19.8,
"swing_percent": 47.2
},
"components": {
"expected_quality": -1.2511,
"regression_edge": -0.9714,
"xwoba_edge": -1.6857,
"xba_edge": -1.0571,
"xslg_edge": -1.2571,
"barrel_edge": -1.0,
"hard_hit_edge": -1.9786,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0065,
"raw_average_factor": 1.0065,
"team_espn_average_rank": 280.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "685133",
"player_name": "Wade Meckler",
"offense_factor": 0.9834,
"quality_score": -0.221,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "685133",
"espn_id": 4424090,
"player_name": "Wade Meckler",
"team": "LAA",
"role": "batter",
"espn_rank": 144,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 144,
"gp_value": 69.0,
"gp_rank": 301,
"ab_value": 203.0,
"ab_rank": 286,
"r_value": 26.0,
"r_rank": 268,
"h_value": 58.0,
"h_rank": 241,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 247,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 3.0,
"hr_rank": 347,
"rbi_value": 20.0,
"rbi_rank": 317,
"tb_value": 77.0,
"tb_rank": 2071,
"bb_value": 20.0,
"bb_rank": 253,
"so_value": 49.0,
"so_rank": 273,
"sb_value": 5.0,
"sb_rank": 162,
"obp_value": 0.3526785,
"obp_rank": "-",
"slg_value": 0.3793103,
"slg_rank": "-",
"ops_value": 0.7319888,
"ops_rank": null,
"war_value": 1.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 217.0,
"k_percent": 21.8,
"bb_percent": 8.9,
"woba": 0.328,
"xwoba": 0.304,
"xba": 0.253,
"xslg": 0.354,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 32.3,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 6.6,
"whiff_percent": 23.1,
"swing_percent": 44.9
},
"components": {
"expected_quality": -0.1489,
"regression_edge": -0.6857,
"xwoba_edge": 0.0571,
"xba_edge": 0.4571,
"xslg_edge": -0.2,
"barrel_edge": -0.8,
"hard_hit_edge": -0.7643,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"offense_factor": 1.0227,
"quality_score": 0.3024,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694208",
"espn_id": 4987418,
"player_name": "Moises Ballesteros",
"team": "LAA",
"role": "batter",
"espn_rank": 591,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 591,
"gp_value": 73.0,
"gp_rank": 279,
"ab_value": 206.0,
"ab_rank": 280,
"r_value": 17.0,
"r_rank": 356,
"h_value": 42.0,
"h_rank": 303,
"avg_value": 0.2038834,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 331,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 6.0,
"hr_rank": 256,
"rbi_value": 23.0,
"rbi_rank": 285,
"tb_value": 66.0,
"tb_rank": 1944,
"bb_value": 22.0,
"bb_rank": 228,
"so_value": 48.0,
"so_rank": 283,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.2782608,
"obp_rank": "-",
"slg_value": 0.3203883,
"slg_rank": "-",
"ops_value": 0.5986491,
"ops_rank": null,
"war_value": -0.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 20.9,
"bb_percent": 9.6,
"woba": 0.269,
"xwoba": 0.302,
"xba": 0.232,
"xslg": 0.372,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 10.5,
"whiff_percent": 26.9,
"swing_percent": 48.8
},
"components": {
"expected_quality": 0.1982,
"regression_edge": 0.9429,
"xwoba_edge": 0.0,
"xba_edge": -0.1429,
"xslg_edge": 0.0571,
"barrel_edge": 0.3111,
"hard_hit_edge": 1.2357,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "687093",
"player_name": "Vaughn Grissom",
"offense_factor": 1.011,
"quality_score": 0.1463,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687093",
"espn_id": 42503,
"player_name": "Vaughn Grissom",
"team": "LAA",
"role": "batter",
"espn_rank": 338,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 338,
"gp_value": 84.0,
"gp_rank": 233,
"ab_value": 291.0,
"ab_rank": 198,
"r_value": 32.0,
"r_rank": 229,
"h_value": 71.0,
"h_rank": 190,
"avg_value": 0.2439862,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": 143,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 47.0,
"rbi_rank": 124,
"tb_value": 108.0,
"tb_rank": 1532,
"bb_value": 22.0,
"bb_rank": 228,
"so_value": 60.0,
"so_rank": 234,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3043478,
"obp_rank": "-",
"slg_value": 0.371134,
"slg_rank": "-",
"ops_value": 0.6754818,
"ops_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 312.0,
"k_percent": 18.6,
"bb_percent": 6.8,
"woba": 0.299,
"xwoba": 0.309,
"xba": 0.249,
"xslg": 0.38,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 38.3,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 12.7,
"whiff_percent": 22.6,
"swing_percent": 48.9
},
"components": {
"expected_quality": 0.1236,
"regression_edge": 0.2857,
"xwoba_edge": 0.2,
"xba_edge": 0.3429,
"xslg_edge": 0.1714,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.0929,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "666139",
"player_name": "Josh Lowe",
"offense_factor": 1.0062,
"quality_score": 0.0831,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666139",
"espn_id": 40557,
"player_name": "Josh Lowe",
"team": "LAA",
"role": "batter",
"espn_rank": 530,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 530,
"gp_value": 83.0,
"gp_rank": 237,
"ab_value": 230.0,
"ab_rank": 256,
"r_value": 22.0,
"r_rank": 306,
"h_value": 48.0,
"h_rank": 276,
"avg_value": 0.2086956,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 331,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 10.0,
"hr_rank": 160,
"rbi_value": 26.0,
"rbi_rank": 266,
"tb_value": 84.0,
"tb_rank": 1629,
"bb_value": 18.0,
"bb_rank": 277,
"so_value": 71.0,
"so_rank": 176,
"sb_value": 4.0,
"sb_rank": 187,
"obp_value": 0.268,
"obp_rank": "-",
"slg_value": 0.3652173,
"slg_rank": "-",
"ops_value": 0.6332173,
"ops_rank": null,
"war_value": -0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 28.2,
"bb_percent": 7.1,
"woba": 0.278,
"xwoba": 0.296,
"xba": 0.223,
"xslg": 0.4,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 38.9,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 19.0,
"whiff_percent": 31.3,
"swing_percent": 57.0
},
"components": {
"expected_quality": 0.0129,
"regression_edge": 0.5143,
"xwoba_edge": -0.1714,
"xba_edge": -0.4,
"xslg_edge": 0.4571,
"barrel_edge": 0.4,
"hard_hit_edge": 0.1786,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "687263",
"player_name": "Zach Neto",
"offense_factor": 0.9949,
"quality_score": -0.0675,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687263",
"espn_id": 4666100,
"player_name": "Zach Neto",
"team": "LAA",
"role": "batter",
"espn_rank": 72,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 72,
"gp_value": 123.0,
"gp_rank": 38,
"ab_value": 487.0,
"ab_rank": 10,
"r_value": 76.0,
"r_rank": 21,
"h_value": 109.0,
"h_rank": 79,
"avg_value": 0.2238193,
"avg_rank": 129.0,
"2b_value": 24.0,
"2b_rank": 40,
"3b_value": 3.0,
"3b_rank": 26,
"hr_value": 20.0,
"hr_rank": 43,
"rbi_value": 54.0,
"rbi_rank": 85,
"tb_value": 199.0,
"tb_rank": 300,
"bb_value": 52.0,
"bb_rank": 47,
"so_value": 172.0,
"so_rank": 2,
"sb_value": 17.0,
"sb_rank": 30,
"obp_value": 0.3083941,
"obp_rank": "117",
"slg_value": 0.4086242,
"slg_rank": "91",
"ops_value": 0.7170183,
"ops_rank": 26.0,
"war_value": 2.43,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 535.0,
"k_percent": 31.4,
"bb_percent": 9.5,
"woba": 0.315,
"xwoba": 0.295,
"xba": 0.198,
"xslg": 0.383,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 39.7,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 22.7,
"whiff_percent": 33.7,
"swing_percent": 51.6
},
"components": {
"expected_quality": 0.0146,
"regression_edge": -0.5714,
"xwoba_edge": -0.2,
"xba_edge": -1.1143,
"xslg_edge": 0.2143,
"barrel_edge": 1.0222,
"hard_hit_edge": 0.2929,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "694384",
"player_name": "Nolan Schanuel",
"offense_factor": 1.0284,
"quality_score": 0.3783,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694384",
"espn_id": 4739755,
"player_name": "Nolan Schanuel",
"team": "LAA",
"role": "batter",
"espn_rank": 91,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 91,
"gp_value": 106.0,
"gp_rank": 143,
"ab_value": 388.0,
"ab_rank": 112,
"r_value": 42.0,
"r_rank": 167,
"h_value": 108.0,
"h_rank": 82,
"avg_value": 0.2783505,
"avg_rank": 31.0,
"2b_value": 22.0,
"2b_rank": 60,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 48.0,
"rbi_rank": 118,
"tb_value": 151.0,
"tb_rank": 1341,
"bb_value": 42.0,
"bb_rank": 89,
"so_value": 58.0,
"so_rank": 242,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3537414,
"obp_rank": "39",
"slg_value": 0.3891752,
"slg_rank": "112",
"ops_value": 0.7429166,
"ops_rank": 73.0,
"war_value": 2.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 429.0,
"k_percent": 13.1,
"bb_percent": 9.5,
"woba": 0.331,
"xwoba": 0.336,
"xba": 0.287,
"xslg": 0.39,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 12.1,
"whiff_percent": 16.4,
"swing_percent": 44.4
},
"components": {
"expected_quality": 0.4166,
"regression_edge": 0.1429,
"xwoba_edge": 0.9714,
"xba_edge": 1.4286,
"xslg_edge": 0.3143,
"barrel_edge": -0.9778,
"hard_hit_edge": -0.6214,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "545361",
"player_name": "Mike Trout",
"offense_factor": 1.1131,
"quality_score": 1.5083,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "545361",
"espn_id": 30836,
"player_name": "Mike Trout",
"team": "LAA",
"role": "batter",
"espn_rank": 36,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 36,
"gp_value": 108.0,
"gp_rank": 136,
"ab_value": 391.0,
"ab_rank": 110,
"r_value": 69.0,
"r_rank": 38,
"h_value": 94.0,
"h_rank": 119,
"avg_value": 0.2404092,
"avg_rank": 106.0,
"2b_value": 17.0,
"2b_rank": 128,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 20.0,
"hr_rank": 43,
"rbi_value": 45.0,
"rbi_rank": 140,
"tb_value": 171.0,
"tb_rank": 918,
"bb_value": 83.0,
"bb_rank": 5,
"so_value": 123.0,
"so_rank": 40,
"sb_value": 10.0,
"sb_rank": 73,
"obp_value": 0.3817427,
"obp_rank": "9",
"slg_value": 0.4373401,
"slg_rank": "62",
"ops_value": 0.8190828,
"ops_rank": 71.0,
"war_value": 3.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 460.0,
"k_percent": 25.5,
"bb_percent": 17.2,
"woba": 0.358,
"xwoba": 0.382,
"xba": 0.254,
"xslg": 0.495,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 15.7,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 18.2,
"whiff_percent": 23.8,
"swing_percent": 40.0
},
"components": {
"expected_quality": 1.6422,
"regression_edge": 0.6857,
"xwoba_edge": 2.2857,
"xba_edge": 0.4857,
"xslg_edge": 1.8143,
"barrel_edge": 1.9778,
"hard_hit_edge": 1.2071,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "624428",
"player_name": "Adam Frazier",
"offense_factor": 0.948,
"quality_score": -0.6928,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "624428",
"espn_id": 33546,
"player_name": "Adam Frazier",
"team": "LAA",
"role": "batter",
"espn_rank": 274,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 274,
"gp_value": 48.0,
"gp_rank": 380,
"ab_value": 98.0,
"ab_rank": 416,
"r_value": 16.0,
"r_rank": 362,
"h_value": 23.0,
"h_rank": 397,
"avg_value": 0.2346938,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 331,
"3b_value": 1.0,
"3b_rank": 122,
"hr_value": 1.0,
"hr_rank": 444,
"rbi_value": 8.0,
"rbi_rank": 433,
"tb_value": 34.0,
"tb_rank": 2304,
"bb_value": 9.0,
"bb_rank": 387,
"so_value": 31.0,
"so_rank": 380,
"sb_value": 2.0,
"sb_rank": 255,
"obp_value": 0.3055555,
"obp_rank": "-",
"slg_value": 0.3469387,
"slg_rank": "-",
"ops_value": 0.6524942,
"ops_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 104.0,
"k_percent": 28.2,
"bb_percent": 8.2,
"woba": 0.292,
"xwoba": 0.242,
"xba": 0.194,
"xslg": 0.257,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 15.9,
"exit_velocity_avg": 84.9,
"launch_angle_avg": 14.1,
"whiff_percent": 26.0,
"swing_percent": 53.0
},
"components": {
"expected_quality": -1.4717,
"regression_edge": -1.4286,
"xwoba_edge": -1.7143,
"xba_edge": -1.2286,
"xslg_edge": -1.5857,
"barrel_edge": -1.2,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": -0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "623168",
"player_name": "Tyler Heineman",
"offense_factor": 0.9508,
"quality_score": -0.6556,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "623168",
"espn_id": 33142,
"player_name": "Tyler Heineman",
"team": "LAA",
"role": "batter",
"espn_rank": 449,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 449,
"gp_value": 55.0,
"gp_rank": 356,
"ab_value": 133.0,
"ab_rank": 367,
"r_value": 11.0,
"r_rank": 411,
"h_value": 24.0,
"h_rank": 392,
"avg_value": 0.1804511,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 460,
"3b_value": 1.0,
"3b_rank": 122,
"hr_value": 1.0,
"hr_rank": 444,
"rbi_value": 8.0,
"rbi_rank": 433,
"tb_value": 31.0,
"tb_rank": 2428,
"bb_value": 5.0,
"bb_rank": 447,
"so_value": 24.0,
"so_rank": 422,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.2323943,
"obp_rank": "-",
"slg_value": 0.2330827,
"slg_rank": "-",
"ops_value": 0.465477,
"ops_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 138.0,
"k_percent": 16.0,
"bb_percent": 3.3,
"woba": 0.214,
"xwoba": 0.249,
"xba": 0.226,
"xslg": 0.273,
"sweet_spot_percent": 24.8,
"barrel_batted_rate": 0.9,
"hard_hit_percent": 12.8,
"exit_velocity_avg": 81.5,
"launch_angle_avg": 11.6,
"whiff_percent": 18.8,
"swing_percent": 55.3
},
"components": {
"expected_quality": -1.3782,
"regression_edge": 1.0,
"xwoba_edge": -1.5143,
"xba_edge": -0.3143,
"xslg_edge": -1.3571,
"barrel_edge": -1.3111,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": -1.4167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAA | True | 812 | -0.8542 | 0.9680 | 1.0726 | 0.9834 | 1.0252 | 1.1818 | neutral | 0.3790 | 0.3740 | 20.30 | 10.30 | 24.10 | 10.90 | 48.60 | |
| Home HOU | True | 14 | 0.3075 | 1 | 0.9739 | 1.0109 | 1.0060 | 0.9579 | neutral | 0.2840 | 0.2820 | 23.70 | 9.30 | 25.60 | 6.50 | 36.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAA | True | None | 89 | 89.91 | 2198 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0005 | |
| Home HOU | True | None | 92 | 89.35 | 2218 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0315 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9739 |
| home_runs_vs_away_pitcher | 1.0703 |
| home_pitcher_quality_edge | 1.1617 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "663567",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 472.0,
"k_percent": 23.7,
"bb_percent": 9.3,
"woba": 0.282,
"xwoba": 0.284,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 36.3,
"avg_best_speed": 78.5243,
"avg_hyper_speed": 93.5957,
"whiff_percent": 25.6,
"swing_percent": 48.4
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.516,
"command_and_miss": 0.1029,
"regression_edge": -0.0571,
"xwoba_edge": 0.8,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.1857,
"whiff_edge": 0.0429,
"bb_edge": -0.075,
"pitch_design_score": -0.0315
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663567",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.3513060152988,
"release_spin_rate": 2218.0155307207833,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.3513060152988,
"release_spin_rate": 2218.0155307207833,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.3513,
"release_spin_rate": 2218.0155,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0315,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2247,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3075,
"sample_weight": 1.0,
"run_prevention_factor": 0.9739,
"strikeout_factor": 1.0109,
"walk_factor": 1.006,
"homer_factor": 0.9579,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663567",
"espn_id": 39898,
"player_name": "Peter Lambert",
"team": "HOU",
"role": "pitcher",
"espn_rank": 14,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 14,
"gp_value": 21.0,
"gp_rank": 340,
"gs_value": 21.0,
"gs_rank": 75,
"qs_value": 8.0,
"qs_rank": 65,
"era_value": 3.1095,
"era_rank": null,
"w_value": 8.0,
"w_rank": 43,
"l_value": 6.0,
"l_rank": 92,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 118.2,
"ip_rank": 75,
"h_value": 91.0,
"h_rank": 105,
"er_value": 41.0,
"er_rank": 123,
"hr_value": 12.0,
"hr_rank": 111,
"bb_value": 46.0,
"bb_rank": 31,
"k_value": 117.0,
"k_rank": 50,
"k_per_9_value": 8.873595,
"k_per_9_rank": 18.0,
"whip_value": 1.1544,
"whip_rank": null,
"war_value": 3.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "680570",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 242.0,
"k_percent": 20.3,
"bb_percent": 10.3,
"woba": 0.374,
"xwoba": 0.379,
"sweet_spot_percent": 40.4,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 48.6,
"avg_best_speed": 80.1135,
"avg_hyper_speed": 95.4595,
"whiff_percent": 24.1,
"swing_percent": 48.3
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.4385,
"command_and_miss": -0.2407,
"regression_edge": -0.1429,
"xwoba_edge": -1.9143,
"barrel_edge": -0.8444,
"hard_hit_edge": -1.5714,
"whiff_edge": -0.1714,
"bb_edge": -0.325,
"pitch_design_score": -0.0005
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 89.90501052935554,
"release_spin_rate": 2198.380494927671,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 89.90501052935554,
"release_spin_rate": 2198.380494927671,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.905,
"release_spin_rate": 2198.3805,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0005,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0032,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.8542,
"sample_weight": 0.968,
"run_prevention_factor": 1.0726,
"strikeout_factor": 0.9834,
"walk_factor": 1.0252,
"homer_factor": 1.1818,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680570",
"espn_id": 41196,
"player_name": "Grayson Rodriguez",
"team": "LAA",
"role": "pitcher",
"espn_rank": 812,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 812,
"gp_value": 13.0,
"gp_rank": 456,
"gs_value": 13.0,
"gs_rank": 140,
"qs_value": 1.0,
"qs_rank": 171,
"era_value": 7.1694,
"era_rank": null,
"w_value": 3.0,
"w_rank": 220,
"l_value": 5.0,
"l_rank": 118,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 59.0,
"ip_rank": 192,
"h_value": 66.0,
"h_rank": 156,
"er_value": 47.0,
"er_rank": 92,
"hr_value": 10.0,
"hr_rank": 142,
"bb_value": 28.0,
"bb_rank": 152,
"k_value": 55.0,
"k_rank": 218,
"k_per_9_value": 8.389831,
"k_per_9_rank": 30.0,
"whip_value": 1.5932,
"whip_rank": null,
"war_value": -1.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9739,
"home_runs_vs_away_pitcher": 1.0703,
"home_pitcher_quality_edge": 1.1617
},
"score_before": {
"away_runs": 2.376,
"home_runs": 3.5814
},
"score_after": {
"away_runs": 2.314,
"home_runs": 3.8331,
"home_win_probability": 0.65
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away LAA | 5-5 | 0.500 | 3.10 | 3.40 | -3 | 1L | cold | strong |
| Home HOU | 4-6 | 0.400 | 3.40 | 4.30 | -9 | 1W | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away LAA | 50-76 | 0.397 | -84 | -0.667 | True |
| Home HOU | 63-63 | 0.500 | -32 | -0.254 | True |
| Signal | - | - | 0.413 | 0.313 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-08-19 | LAA @ HOU | 2 - 3 | HOU | 1 | close |
| 2026-08-18 | LAA @ HOU | 3 - 1 | LAA | 2 | close |
| 2026-07-29 | HOU @ LAA | 7 - 4 | HOU | 3 | blowout |
| 2026-07-28 | HOU @ LAA | 3 - 2 | HOU | 1 | close |
| 2026-07-27 | HOU @ LAA | 6 - 4 | HOU | 2 | close |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target LAA | - | - | 3 | - | - | - | - |
| Game target HOU | - | - | 4 | - | - | - | - |
| Player finalized LAA | 32 | 9 | 2 | 0 | 3 | 1 | 10 |
| Player finalized HOU | 33 | 9 | 2 | 0 | 3 | 1 | 8 |
| Player model fractional LAA | 30.24 | 6.80 | 3.41 | 0.72 | 3.15 | 2.83 | 7.49 |
| Player model fractional HOU | 30.12 | 6.83 | 3.81 | 1.19 | 3.79 | 3.08 | 6.88 |
| Simulation box LAA | 33 | 6 | 3 | 1 | 3 | 0 | 7 |
| Simulation box HOU | 32 | 8 | 4 | 0 | 4 | 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 LAA | Starter | Grayson Rodriguez | 4.20 | 4 | 4 | 6 | 1 | 5.90 | 1.43 | True |
| Away LAA | Middle Reliever | Samy Natera Jr. | 1.10 | 0 | 1 | 0 | 0 | 2.83 | 1.01 | True |
| Away LAA | Middle Reliever | Ben Joyce | 2 | 0 | 1 | 1 | 0 | 3.63 | 1.12 | True |
| Away LAA | Middle Reliever | José Fermin | 0 | 0 | 0 | 1 | 0 | 4.25 | 1.53 | True |
| Home HOU | Starter | Peter Lambert | 5.20 | 3 | 6 | 5 | 0 | 3.43 | 1.26 | True |
| Home HOU | Middle Reliever | Bryan Abreu | 1.10 | 0 | 0 | 0 | 0 | 3.52 | 1.21 | True |
| Home HOU | Middle Reliever | Josh Hader | 1 | 0 | 0 | 0 | 0 | 2.07 | 0.94 | True |
| Home HOU | Middle Reliever | Steven Okert | 1 | 0 | 1 | 1 | 0 | 2.02 | 0.93 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | HOU | batter | 3B | Isaac Paredes | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 2.4200 | boost | worse |
| home | HOU | batter | RF | Cam Smith | worse | 8 | 2 | 6 | 2 | 6 | predicted_AB | -1.5220 | deboost | worse |
| home | HOU | batter | 1B | LaMonte Wade Jr. | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 1.4060 | boost | better |
| away | LAA | batter | SS | Zach Neto | worse | 9 | 3 | 6 | 4 | 5 | predicted_SO | -1.3980 | deboost | better |
| home | HOU | batter | DH | Yordan Alvarez | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.3600 | boost | better |
| away | LAA | batter | DH | Moisés Ballesteros | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.3330 | boost | worse |
| home | HOU | batter | LF | Taylor Trammell | worse | 10 | 1 | 9 | 1 | 9 | predicted_AB | 1.1720 | boost | better |
| away | LAA | pitcher | Starter | Grayson Rodriguez | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| away | LAA | pitcher | Middle Reliever | Ben Joyce | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| away | LAA | pitcher | Middle Reliever | José Fermin | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | LAA | batter | 1B | Nolan Schanuel | better | 9 | 6 | 3 | 7 | 2 | predicted_H | 0.9600 | boost | better |
| home | HOU | batter | SS | Nick Allen | better | 10 | 5 | 5 | 6 | 4 | predicted_2B | 0.9130 | boost | better |
| away | LAA | batter | 3B | Vaughn Grissom | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8770 | deboost | worse |
| away | LAA | batter | RF | Josh Lowe | better | 10 | 8 | 2 | 7 | 3 | predicted_HR | 0.8720 | boost | better |
| home | HOU | batter | 2B | Jose Altuve | worse | 9 | 2 | 7 | 3 | 6 | predicted_SO | -0.8700 | deboost | better |
| away | LAA | batter | LF | Wade Meckler | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 0.8280 | boost | better |
| home | HOU | batter | CF | Daulton Varsho | worse | 11 | 3 | 8 | 4 | 7 | predicted_2B | 0.8190 | boost | better |
| away | LAA | batter | CF | Mike Trout | worse | 10 | 0 | 10 | 1 | 9 | predicted_BB | -0.7690 | deboost | worse |
| home | HOU | batter | C | Christian Vázquez | worse | 11 | 5 | 6 | 4 | 7 | predicted_R | 0.7080 | boost | better |
| away | LAA | batter | 2B | Adam Frazier | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 0.5000 | boost | better |
| away | LAA | batter | C | Tyler Heineman | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.4800 | deboost | better |
| home | HOU | pitcher | Starter | Peter Lambert | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | LAA | pitcher | Middle Reliever | Samy Natera Jr. | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | HOU | pitcher | Middle Reliever | Bryan Abreu | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Grayson Rodriguez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.8542 |
| ESPN Rank | 812 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0005 |
| Avg Velo | 89.9050 |
| Avg Spin | 2198.3805 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 7.1695 |
| Season WHIP | 1.5932 |
| Role Avg IP | 4.5380 |
| Recent Avg IP | 4.8000 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 134,
"wins": 55,
"losses": 79,
"win_pct": 0.4104,
"runs_scored": 546.0,
"runs_allowed": 630.0,
"run_differential": -84.0,
"run_differential_per_game": -0.6269,
"avg_runs_scored": 4.0746,
"avg_runs_allowed": 4.7015,
"offense_index": 0.9068,
"defense_index": 0.9557,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 3.4,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.1529
},
"opponent": {
"team": "HOU",
"games": 135,
"wins": 67,
"losses": 68,
"win_pct": 0.4963,
"runs_scored": 611.0,
"runs_allowed": 642.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2296,
"avg_runs_scored": 4.5259,
"avg_runs_allowed": 4.7556,
"offense_index": 1.0073,
"defense_index": 0.9449,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.3,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0662
},
"edges": {
"quality_edge": -0.0867,
"offense_edge": -0.0932,
"opponent_offense_edge": 0.0073,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.0551,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9949,
"run_prevention": 1.0099,
"strikeout": 0.9968
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680570",
"profile": {
"available": true,
"pitcher_id": "680570",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 242.0,
"k_percent": 20.3,
"bb_percent": 10.3,
"woba": 0.374,
"xwoba": 0.379,
"sweet_spot_percent": 40.4,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 48.6,
"avg_best_speed": 80.1135,
"avg_hyper_speed": 95.4595,
"whiff_percent": 24.1,
"swing_percent": 48.3
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.4385,
"command_and_miss": -0.2407,
"regression_edge": -0.1429,
"xwoba_edge": -1.9143,
"barrel_edge": -0.8444,
"hard_hit_edge": -1.5714,
"whiff_edge": -0.1714,
"bb_edge": -0.325,
"pitch_design_score": -0.0005
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 89.90501052935554,
"release_spin_rate": 2198.380494927671,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 89.90501052935554,
"release_spin_rate": 2198.380494927671,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.905,
"release_spin_rate": 2198.3805,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0005,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0032,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.8542,
"sample_weight": 0.968,
"run_prevention_factor": 1.0726,
"strikeout_factor": 0.9834,
"walk_factor": 1.0252,
"homer_factor": 1.1818,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680570",
"espn_id": 41196,
"player_name": "Grayson Rodriguez",
"team": "LAA",
"role": "pitcher",
"espn_rank": 812,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 812,
"gp_value": 13.0,
"gp_rank": 456,
"gs_value": 13.0,
"gs_rank": 140,
"qs_value": 1.0,
"qs_rank": 171,
"era_value": 7.1694,
"era_rank": null,
"w_value": 3.0,
"w_rank": 220,
"l_value": 5.0,
"l_rank": 118,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 59.0,
"ip_rank": 192,
"h_value": 66.0,
"h_rank": 156,
"er_value": 47.0,
"er_rank": 92,
"hr_value": 10.0,
"hr_rank": 142,
"bb_value": 28.0,
"bb_rank": 152,
"k_value": 55.0,
"k_rank": 218,
"k_per_9_value": 8.389831,
"k_per_9_rank": 30.0,
"whip_value": 1.5932,
"whip_rank": null,
"war_value": -1.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0703,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0703,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0244,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.176,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9839,
"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": 44.2,
"ER": 35,
"H": 50,
"BB": 20,
"SO": 41,
"HR": 8,
"ERA": 7.052238805970149,
"WHIP": 1.5671641791044777,
"K9": 8.261194029850747,
"HR9": 1.6119402985074627,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-14T00:00:00"
}{
"available": true,
"pitcher_id": "680570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 89.90501052935554,
"release_spin_rate": 2198.380494927671,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 89.90501052935554,
"release_spin_rate": 2198.380494927671,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.905,
"release_spin_rate": 2198.3805,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0005,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0032,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"role": "pitcher",
"player_id": "680570",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 15.0,
"R": 16.0,
"H": 21.0,
"BB": 11.0,
"SO": 28.0,
"HR": 5.0,
"BF": 103.0,
"Pitches": 448.0
},
"per_game": {
"IP": 4.2,
"ER": 3.0,
"R": 3.2,
"H": 4.2,
"BB": 2.2,
"SO": 5.6,
"HR": 1.0,
"BF": 20.6,
"Pitches": 89.6
},
"rates": {
"ERA": 5.625,
"WHIP": 1.3333,
"ER_per_IP": 0.625,
"H_per_IP": 0.875,
"BB_per_IP": 0.45833,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.20833
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 44.2,
"ER": 35.0,
"R": 38.0,
"H": 50.0,
"BB": 20.0,
"SO": 41.0,
"HR": 8.0,
"BF": 206.0,
"Pitches": 844.0
},
"per_game": {
"IP": 4.1,
"ER": 3.5,
"R": 3.8,
"H": 5.0,
"BB": 2.0,
"SO": 4.1,
"HR": 0.8,
"BF": 20.6,
"Pitches": 84.4
},
"rates": {
"ERA": 7.0522,
"WHIP": 1.5672,
"ER_per_IP": 0.78358,
"H_per_IP": 1.1194,
"BB_per_IP": 0.44776,
"SO_per_IP": 0.91791,
"HR_per_IP": 0.1791
}
},
"season": {
"games": 13,
"totals": {
"IP": 59.0,
"ER": 47.0,
"R": 50.0,
"H": 66.0,
"BB": 28.0,
"SO": 55.0,
"HR": 10.0,
"BF": 271.0,
"Pitches": 1108.0
},
"per_game": {
"IP": 4.2,
"ER": 3.6154,
"R": 3.8462,
"H": 5.0769,
"BB": 2.1538,
"SO": 4.2308,
"HR": 0.7692,
"BF": 20.8462,
"Pitches": 85.2308
},
"rates": {
"ERA": 7.1695,
"WHIP": 1.5932,
"ER_per_IP": 0.79661,
"H_per_IP": 1.11864,
"BB_per_IP": 0.47458,
"SO_per_IP": 0.9322,
"HR_per_IP": 0.16949
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 3.002,
"predicted_H": 4.578,
"predicted_BB": 1.981,
"predicted_SO": 4.632,
"predicted_HR": 0.817,
"predicted_ERA": 5.8968,
"predicted_WHIP": 1.4313
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4674,
"form_weight": 0.5326,
"form_reliability": 0.7222,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.002,
"final": 3.4684,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.578,
"final": 5.2426,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.981,
"final": 1.5225,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.632,
"final": 3.8693,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.817,
"final": 0.4352,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.8968,
"final": 5.8968,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4313,
"final": 1.4313,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Samy Natera Jr. |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.6078 |
| ESPN Rank | 153 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1784 |
| Avg Velo | 93.0983 |
| Avg Spin | 2355.4971 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2 |
| Season WHIP | 0.8148 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 134,
"wins": 55,
"losses": 79,
"win_pct": 0.4104,
"runs_scored": 546.0,
"runs_allowed": 630.0,
"run_differential": -84.0,
"run_differential_per_game": -0.6269,
"avg_runs_scored": 4.0746,
"avg_runs_allowed": 4.7015,
"offense_index": 0.9068,
"defense_index": 0.9557,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 3.4,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.1529
},
"opponent": {
"team": "HOU",
"games": 135,
"wins": 67,
"losses": 68,
"win_pct": 0.4963,
"runs_scored": 611.0,
"runs_allowed": 642.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2296,
"avg_runs_scored": 4.5259,
"avg_runs_allowed": 4.7556,
"offense_index": 1.0073,
"defense_index": 0.9449,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.3,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0662
},
"edges": {
"quality_edge": -0.0867,
"offense_edge": -0.0932,
"opponent_offense_edge": 0.0073,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.0551,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9949,
"run_prevention": 1.0099,
"strikeout": 0.9968
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "696519",
"profile": {
"available": true,
"pitcher_id": "696519",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 101.0,
"k_percent": 40.4,
"bb_percent": 9.6,
"woba": 0.214,
"xwoba": 0.219,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 31.4,
"avg_best_speed": 77.7623,
"avg_hyper_speed": 92.9409,
"whiff_percent": 37.3,
"swing_percent": 47.6
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.6251,
"command_and_miss": 1.695,
"regression_edge": -0.1429,
"xwoba_edge": 2.5,
"barrel_edge": 0.2667,
"hard_hit_edge": 0.8857,
"whiff_edge": 1.7143,
"bb_edge": -0.15,
"pitch_design_score": 0.1784
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696519",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 24,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 93.0982644898305,
"release_spin_rate": 2355.497070767487,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 93.0982644898305,
"release_spin_rate": 2355.497070767487,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.0983,
"release_spin_rate": 2355.4971,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1784,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2741,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6078,
"sample_weight": 0.45,
"run_prevention_factor": 0.9483,
"strikeout_factor": 1.0759,
"walk_factor": 1.0054,
"homer_factor": 0.9407,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696519",
"espn_id": 5207461,
"player_name": "Samy Natera Jr.",
"team": "LAA",
"role": "pitcher",
"espn_rank": 153,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 153,
"gp_value": 23.0,
"gp_rank": 303,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.0,
"era_rank": null,
"w_value": 1.0,
"w_rank": 381,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 3.0,
"sv_rank": 62,
"hld_value": 4.0,
"hld_rank": 175,
"ip_value": 27.0,
"ip_rank": 428,
"h_value": 13.0,
"h_rank": 558,
"er_value": 6.0,
"er_rank": 590,
"hr_value": 1.0,
"hr_rank": 578,
"bb_value": 10.0,
"bb_rank": 449,
"k_value": 42.0,
"k_rank": 302,
"k_per_9_value": 14.0,
"k_per_9_rank": 19.0,
"whip_value": 0.8518,
"whip_rank": null,
"war_value": 1.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9767,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9767,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0024,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9733,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0342,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 1,
"H": 5,
"BB": 2,
"SO": 20,
"HR": 0,
"ERA": 0.7714285714285715,
"WHIP": 0.6,
"K9": 15.428571428571429,
"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-08-11T00:00:00"
}{
"available": true,
"pitcher_id": "696519",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 24,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 93.0982644898305,
"release_spin_rate": 2355.497070767487,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 93.0982644898305,
"release_spin_rate": 2355.497070767487,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.0983,
"release_spin_rate": 2355.4971,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1784,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2741,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.414,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5199,
"prior_weight": 0.4801
},
"role": "pitcher",
"player_id": "696519",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 12.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 2.4,
"HR": 0.0,
"BF": 4.8,
"Pitches": 22.6
},
"rates": {
"ERA": 1.35,
"WHIP": 0.75,
"ER_per_IP": 0.15,
"H_per_IP": 0.6,
"BB_per_IP": 0.15,
"SO_per_IP": 1.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 20.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 192.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.2,
"SO": 2.0,
"HR": 0.0,
"BF": 4.1,
"Pitches": 19.2
},
"rates": {
"ERA": 0.7714,
"WHIP": 0.6,
"ER_per_IP": 0.08571,
"H_per_IP": 0.42857,
"BB_per_IP": 0.17143,
"SO_per_IP": 1.71429,
"HR_per_IP": 0.0
}
},
"season": {
"games": 22,
"totals": {
"IP": 27.0,
"ER": 6.0,
"R": 6.0,
"H": 13.0,
"BB": 9.0,
"SO": 42.0,
"HR": 1.0,
"BF": 103.0,
"Pitches": 457.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2727,
"R": 0.2727,
"H": 0.5909,
"BB": 0.4091,
"SO": 1.9091,
"HR": 0.0455,
"BF": 4.6818,
"Pitches": 20.7727
},
"rates": {
"ERA": 2.0,
"WHIP": 0.8148,
"ER_per_IP": 0.22222,
"H_per_IP": 0.48148,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.55556,
"HR_per_IP": 0.03704
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.419,
"predicted_H": 0.98,
"predicted_BB": 0.369,
"predicted_SO": 1.804,
"predicted_HR": 0.099,
"predicted_ERA": 2.8254,
"predicted_WHIP": 1.0117
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5528,
"form_weight": 0.4472,
"form_reliability": 0.5199,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.414,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5199,
"prior_weight": 0.4801
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.419,
"final": 0.1874,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.98,
"final": 0.4382,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.369,
"final": 0.165,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.804,
"final": 1.3595,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.099,
"final": 0.0443,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8254,
"final": 2.8254,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0117,
"final": 1.0117,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Ben Joyce |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.7031 |
| ESPN Rank | 255 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 98.0237 |
| Avg Spin | 2226.2600 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 0 |
| Season WHIP | 0.3333 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 134,
"wins": 55,
"losses": 79,
"win_pct": 0.4104,
"runs_scored": 546.0,
"runs_allowed": 630.0,
"run_differential": -84.0,
"run_differential_per_game": -0.6269,
"avg_runs_scored": 4.0746,
"avg_runs_allowed": 4.7015,
"offense_index": 0.9068,
"defense_index": 0.9557,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 3.4,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.1529
},
"opponent": {
"team": "HOU",
"games": 135,
"wins": 67,
"losses": 68,
"win_pct": 0.4963,
"runs_scored": 611.0,
"runs_allowed": 642.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2296,
"avg_runs_scored": 4.5259,
"avg_runs_allowed": 4.7556,
"offense_index": 1.0073,
"defense_index": 0.9449,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.3,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0662
},
"edges": {
"quality_edge": -0.0867,
"offense_edge": -0.0932,
"opponent_offense_edge": 0.0073,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.0551,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9949,
"run_prevention": 1.0099,
"strikeout": 0.9968
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "690829",
"profile": {
"available": true,
"pitcher_id": "690829",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 16.0,
"k_percent": 42.1,
"bb_percent": 5.3,
"woba": 0.084,
"xwoba": 0.122,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 20.0,
"avg_best_speed": 63.616,
"avg_hyper_speed": 91.5225,
"whiff_percent": 36.8,
"swing_percent": 46.3
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 2.0688,
"command_and_miss": 1.885,
"regression_edge": -1.0857,
"xwoba_edge": 2.5,
"barrel_edge": 1.5778,
"hard_hit_edge": 2.5,
"whiff_edge": 1.6429,
"bb_edge": 0.925,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "690829",
"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": 98.02367216117216,
"release_spin_rate": 2226.259981684982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 98.02367216117216,
"release_spin_rate": 2226.259981684982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 98.0237,
"release_spin_rate": 2226.26,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.7031,
"sample_weight": 0.45,
"run_prevention_factor": 0.9402,
"strikeout_factor": 1.0746,
"walk_factor": 0.9667,
"homer_factor": 0.8644,
"woba_minus_xwoba": -0.038,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "690829",
"espn_id": 4867388,
"player_name": "Ben Joyce",
"team": "LAA",
"role": "pitcher",
"espn_rank": 255,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 255,
"gp_value": 6.0,
"gp_rank": 574,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 0.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 495,
"l_value": 0.0,
"l_rank": 548,
"sv_value": 3.0,
"sv_rank": 62,
"hld_value": 1.0,
"hld_rank": 249,
"ip_value": 6.0,
"ip_rank": 653,
"h_value": 1.0,
"h_rank": 779,
"er_value": 0.0,
"er_rank": 778,
"hr_value": 0.0,
"hr_rank": 702,
"bb_value": 1.0,
"bb_rank": 727,
"k_value": 8.0,
"k_rank": 586,
"k_per_9_value": 12.0,
"k_per_9_rank": 24.0,
"whip_value": 0.3333,
"whip_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9731,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9731,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.985,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.939,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0336,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 6.0,
"ER": 0,
"H": 1,
"BB": 1,
"SO": 8,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.3333333333333333,
"K9": 12.0,
"HR9": 0.0,
"games_pitched": 6,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 6,
"error_prone": false
},
"games_count": 6,
"latest_game_date": "2026-08-18T00:00:00"
}{
"available": true,
"pitcher_id": "690829",
"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": 98.02367216117216,
"release_spin_rate": 2226.259981684982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 98.02367216117216,
"release_spin_rate": 2226.259981684982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 98.0237,
"release_spin_rate": 2226.26,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.8653846153846154,
"last_10": 0.1346153846153846
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.203,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1939,
"prior_weight": 0.8061
},
"role": "pitcher",
"player_id": "690829",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 6,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 66.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.0,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 6,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 1.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.1667,
"BB": 0.1667,
"SO": 1.3333,
"HR": 0.0,
"BF": 3.1667,
"Pitches": 13.6667
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.16667,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 6,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 1.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.1667,
"BB": 0.1667,
"SO": 1.3333,
"HR": 0.0,
"BF": 3.1667,
"Pitches": 13.6667
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.16667,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.403,
"predicted_H": 0.822,
"predicted_BB": 0.299,
"predicted_SO": 1.039,
"predicted_HR": 0.119,
"predicted_ERA": 3.6288,
"predicted_WHIP": 1.1208
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6906,
"form_weight": 0.3094,
"form_reliability": 0.1939,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.203,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1939,
"prior_weight": 0.8061
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.403,
"final": 0.1247,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.822,
"final": 0.9449,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.299,
"final": 0.0925,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.039,
"final": 1.0121,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.119,
"final": 0.0368,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6288,
"final": 3.6288,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1208,
"final": 1.1208,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | José Fermin |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0337 |
| ESPN Rank | 263 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1480 |
| Avg Velo | 92.5559 |
| Avg Spin | 2427.4563 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.2400 |
| Season WHIP | 1.2960 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 134,
"wins": 55,
"losses": 79,
"win_pct": 0.4104,
"runs_scored": 546.0,
"runs_allowed": 630.0,
"run_differential": -84.0,
"run_differential_per_game": -0.6269,
"avg_runs_scored": 4.0746,
"avg_runs_allowed": 4.7015,
"offense_index": 0.9068,
"defense_index": 0.9557,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 3.4,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.1529
},
"opponent": {
"team": "HOU",
"games": 135,
"wins": 67,
"losses": 68,
"win_pct": 0.4963,
"runs_scored": 611.0,
"runs_allowed": 642.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2296,
"avg_runs_scored": 4.5259,
"avg_runs_allowed": 4.7556,
"offense_index": 1.0073,
"defense_index": 0.9449,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.3,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0662
},
"edges": {
"quality_edge": -0.0867,
"offense_edge": -0.0932,
"opponent_offense_edge": 0.0073,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.0551,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9949,
"run_prevention": 1.0099,
"strikeout": 0.9968
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "820862",
"profile": {
"available": true,
"pitcher_id": "820862",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 177.0,
"k_percent": 27.1,
"bb_percent": 11.0,
"woba": 0.311,
"xwoba": 0.322,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 42.6,
"avg_best_speed": 81.6498,
"avg_hyper_speed": 94.4684,
"whiff_percent": 30.9,
"swing_percent": 49.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.2827,
"command_and_miss": 0.5014,
"regression_edge": -0.3143,
"xwoba_edge": -0.2857,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.7143,
"whiff_edge": 0.8,
"bb_edge": -0.5,
"pitch_design_score": 0.148
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "820862",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.55588931163547,
"release_spin_rate": 2427.4563342655806,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.55588931163547,
"release_spin_rate": 2427.4563342655806,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5559,
"release_spin_rate": 2427.4563,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0571,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0337,
"sample_weight": 0.708,
"run_prevention_factor": 1.0029,
"strikeout_factor": 1.0429,
"walk_factor": 1.0283,
"homer_factor": 1.054,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "820862",
"espn_id": 5265417,
"player_name": "Jose Fermin",
"team": "LAA",
"role": "pitcher",
"espn_rank": 263,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 263,
"gp_value": 39.0,
"gp_rank": 141,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.24,
"era_rank": null,
"w_value": 4.0,
"w_rank": 161,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 6.0,
"hld_rank": 134,
"ip_value": 41.2,
"ip_rank": 316,
"h_value": 34.0,
"h_rank": 338,
"er_value": 15.0,
"er_rank": 372,
"hr_value": 6.0,
"hr_rank": 244,
"bb_value": 20.0,
"bb_rank": 248,
"k_value": 49.0,
"k_rank": 251,
"k_per_9_value": 10.584,
"k_per_9_rank": 21.0,
"whip_value": 1.296,
"whip_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0021,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0021,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.02,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0382,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0304,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 5,
"H": 13,
"BB": 3,
"SO": 15,
"HR": 3,
"ERA": 4.5,
"WHIP": 1.6,
"K9": 13.5,
"HR9": 2.7,
"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-08-18T00:00:00"
}{
"available": true,
"pitcher_id": "820862",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.55588931163547,
"release_spin_rate": 2427.4563342655806,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 92.55588931163547,
"release_spin_rate": 2427.4563342655806,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5559,
"release_spin_rate": 2427.4563,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0571,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.355,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6256,
"prior_weight": 0.3744
},
"role": "pitcher",
"player_id": "820862",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 4.0,
"Pitches": 14.8
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.8462,
"ER_per_IP": 0.46154,
"H_per_IP": 1.61538,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 5.0,
"R": 8.0,
"H": 13.0,
"BB": 3.0,
"SO": 15.0,
"HR": 3.0,
"BF": 48.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.8,
"H": 1.3,
"BB": 0.3,
"SO": 1.5,
"HR": 0.3,
"BF": 4.8,
"Pitches": 18.3
},
"rates": {
"ERA": 4.5,
"WHIP": 1.6,
"ER_per_IP": 0.5,
"H_per_IP": 1.3,
"BB_per_IP": 0.3,
"SO_per_IP": 1.5,
"HR_per_IP": 0.3
}
},
"season": {
"games": 39,
"totals": {
"IP": 41.2,
"ER": 15.0,
"R": 18.0,
"H": 34.0,
"BB": 20.0,
"SO": 49.0,
"HR": 6.0,
"BF": 181.0,
"Pitches": 745.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3846,
"R": 0.4615,
"H": 0.8718,
"BB": 0.5128,
"SO": 1.2564,
"HR": 0.1538,
"BF": 4.641,
"Pitches": 19.1026
},
"rates": {
"ERA": 3.24,
"WHIP": 1.296,
"ER_per_IP": 0.36,
"H_per_IP": 0.816,
"BB_per_IP": 0.48,
"SO_per_IP": 1.176,
"HR_per_IP": 0.144
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.354,
"predicted_H": 0.905,
"predicted_BB": 0.246,
"predicted_SO": 0.82,
"predicted_HR": 0.153,
"predicted_ERA": 4.2455,
"predicted_WHIP": 1.5332
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5082,
"form_weight": 0.4918,
"form_reliability": 0.6256,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.355,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6256,
"prior_weight": 0.3744
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.354,
"final": 0.1741,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.905,
"final": 0.9533,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.246,
"final": 0.121,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.82,
"final": 0.9115,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.153,
"final": 0.0752,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2455,
"final": 4.2455,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5332,
"final": 1.5332,
"source": "form_only"
}
}
}{
"available": false,
"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.156 | 0.000 | 0.000 | Hitting_2B | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.172 | 4.000 | 3.000 | Hitting_AB | 3.452 | 3.000 | 0.548 | 1.000 |
| predicted_AVG | 0.286 | 0.250 | 0.333 | Hitting_AVG | 0.290 | 0.000 | -0.040 | 0.250 |
| predicted_BB | 0.297 | 0.000 | 0.000 | Hitting_BB | 0.373 | 0.000 | -0.373 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.906 | 1.000 | 1.000 | Hitting_H | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_HR | 0.047 | 0.000 | 0.000 | Hitting_HR | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_OBP | 0.347 | 0.250 | 0.333 | Hitting_OBP | 0.360 | 0.000 | -0.110 | 0.250 |
| predicted_R | 0.406 | 0.000 | 0.000 | Hitting_R | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_RBI | 0.312 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SLG | 0.379 | 0.250 | 0.333 | Hitting_SLG | 0.388 | 0.000 | -0.138 | 0.250 |
| predicted_SO | 0.766 | 1.000 | 1.000 | Hitting_SO | 0.833 | 0.000 | 0.167 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.1720 -> 4.0000 (boost 0.8280, better) |
| Biggest Deboost | predicted_R: 0.4060 -> 0.0000 (deboost -0.4060, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AB: 3.1720 -> 3.2658 (boost 0.0938, better) | predicted_SLG: 0.3790 -> 0.3474 (deboost -0.0316, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.8017 -> 1.0000 (boost 0.1983, worse) | predicted_BB: 0.2947 -> 0.0000 (deboost -0.2947, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.262 HR/AB=0.013 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4060 -> 0.0000 (deboost -0.4060, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2620 -> 0.3330 (boost 0.0710, 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 |
| 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.3446 (boost 0.0116, better) | predicted_AVG: 0.3330 -> 0.2620 (deboost -0.0710, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "685133",
"player_name": "Wade Meckler",
"position": "LF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.0,
"predicted_AB": 3.172,
"predicted_AVG": 0.286,
"predicted_BB": 0.297,
"predicted_H": 0.906,
"predicted_HR": 0.047,
"predicted_OBP": 0.347,
"predicted_R": 0.406,
"predicted_RBI": 0.312,
"predicted_SLG": 0.379,
"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.1361,
"predicted_3B": 0.0008,
"predicted_AB": 3.2658,
"predicted_AVG": 0.2646,
"predicted_BB": 0.2966,
"predicted_H": 0.8603,
"predicted_HBP": 0.003,
"predicted_HR": 0.0445,
"predicted_OBP": 0.3258,
"predicted_R": 0.4102,
"predicted_RBI": 0.2771,
"predicted_SLG": 0.3474,
"predicted_SO": 0.7967
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.1361,
"delta": -0.0199,
"percent_delta": -0.1276,
"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.172,
"after": 3.2658,
"delta": 0.0938,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2646,
"delta": -0.0214,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.2966,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.906,
"after": 0.8603,
"delta": -0.0457,
"percent_delta": -0.0504,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.047,
"after": 0.0445,
"delta": -0.0025,
"percent_delta": -0.0532,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3258,
"delta": -0.0212,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 0.4102,
"delta": 0.0042,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.312,
"after": 0.2771,
"delta": -0.0349,
"percent_delta": -0.1119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3474,
"delta": -0.0316,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 0.7967,
"delta": 0.0307,
"percent_delta": 0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.172,
"after": 3.2658,
"delta": 0.0938,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3474,
"delta": -0.0316,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1361,
"predicted_3B": 0.0008,
"predicted_AB": 3.2658,
"predicted_AVG": 0.262,
"predicted_BB": 0.2947,
"predicted_H": 0.8557,
"predicted_HBP": 0.003,
"predicted_HR": 0.0441,
"predicted_OBP": 0.3231,
"predicted_R": 0.406,
"predicted_RBI": 0.2743,
"predicted_SLG": 0.3446,
"predicted_SO": 0.8017
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2658,
"after": 3.2658,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2646,
"after": 0.262,
"delta": -0.0026,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2966,
"after": 0.2947,
"delta": -0.0019,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8603,
"after": 0.8557,
"delta": -0.0046,
"percent_delta": -0.0053,
"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.0445,
"after": 0.0441,
"delta": -0.0004,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3258,
"after": 0.3231,
"delta": -0.0027,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4102,
"after": 0.406,
"delta": -0.0042,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2771,
"after": 0.2743,
"delta": -0.0028,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3474,
"after": 0.3446,
"delta": -0.0028,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7967,
"after": 0.8017,
"delta": 0.005,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.27), rates preserved: AVG=0.262 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1361,
"after": 0.0,
"delta": -0.1361,
"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.2658,
"after": 3.0,
"delta": -0.2658,
"percent_delta": -0.0814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2947,
"after": 0.0,
"delta": -0.2947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8557,
"after": 1.0,
"delta": 0.1443,
"percent_delta": 0.1686,
"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.0441,
"after": 0.0,
"delta": -0.0441,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2743,
"after": 0.0,
"delta": -0.2743,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8017,
"after": 1.0,
"delta": 0.1983,
"percent_delta": 0.2473,
"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.8017,
"after": 1.0,
"delta": 0.1983,
"percent_delta": 0.2473,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2947,
"after": 0.0,
"delta": -0.2947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"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.262,
"after": 0.333,
"delta": 0.071,
"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.3231,
"after": 0.333,
"delta": 0.0099,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.262,
"after": 0.333,
"delta": 0.071,
"percent_delta": 0.271,
"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": 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.262,
"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.3231,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3446,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.262,
"delta": -0.071,
"percent_delta": -0.2132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3231,
"delta": -0.0099,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.262,
"delta": -0.071,
"percent_delta": -0.2132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.172,
"after": 4.0,
"delta": 0.828,
"percent_delta": 0.261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.262,
"delta": -0.024,
"percent_delta": -0.0839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.0,
"delta": -0.297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.906,
"after": 1.0,
"delta": 0.094,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3231,
"delta": -0.0239,
"percent_delta": -0.0689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3446,
"delta": -0.0344,
"percent_delta": -0.0908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 1.0,
"delta": 0.234,
"percent_delta": 0.3055,
"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.172,
"after": 4.0,
"delta": 0.828,
"percent_delta": 0.261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.172 | - |
| predicted_AVG | 0.286 | - |
| predicted_BB | 0.297 | - |
| predicted_H | 0.906 | - |
| predicted_HR | 0.047 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.406 | - |
| predicted_RBI | 0.312 | - |
| predicted_SLG | 0.379 | - |
| 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.136 | -0.020 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.266 | 0.094 |
| predicted_AVG | 0.265 | -0.021 |
| predicted_BB | 0.297 | -0.000 |
| predicted_H | 0.860 | -0.046 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.044 | -0.003 |
| predicted_OBP | 0.326 | -0.021 |
| predicted_R | 0.410 | 0.004 |
| predicted_RBI | 0.277 | -0.035 |
| predicted_SLG | 0.347 | -0.032 |
| predicted_SO | 0.797 | 0.031 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.266 | 0.000 |
| predicted_AVG | 0.262 | -0.003 |
| predicted_BB | 0.295 | -0.002 |
| predicted_H | 0.856 | -0.005 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.044 | -0.000 |
| predicted_OBP | 0.323 | -0.003 |
| predicted_R | 0.406 | -0.004 |
| predicted_RBI | 0.274 | -0.003 |
| predicted_SLG | 0.345 | -0.003 |
| predicted_SO | 0.802 | 0.005 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.262 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.136 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.266 |
| predicted_AVG | 0.333 | 0.071 |
| predicted_BB | 0.000 | -0.295 |
| predicted_H | 1.000 | 0.144 |
| predicted_HR | 0.000 | -0.044 |
| predicted_OBP | 0.333 | 0.010 |
| predicted_R | 0.000 | -0.406 |
| predicted_RBI | 0.000 | -0.274 |
| predicted_SLG | 0.333 | -0.012 |
| predicted_SO | 1.000 | 0.198 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 5.000 | 0.1111 | 0.1579 | 0.1111 | 0.1111 | 0.0000 | 0.0000 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 9.000 | 0.1944 | 0.2750 | 0.1944 | 0.1944 | 0.0000 | 0.0000 | 0.1111 | 0.2500 |
| season | 0.60 | 64 | - | 203.000 | 58.000 | 10.000 | 0.000 | 3.000 | 20.000 | 26.000 | 19.000 | 49.000 | 0.2857 | 0.3468 | 0.3793 | 0.2857 | 0.0148 | 0.0985 | 0.0936 | 0.2414 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3980 |
| predicted_AVG | 0.2344 |
| predicted_BB | 0.2960 |
| predicted_H | 0.7960 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0410 |
| predicted_OBP | 0.2959 |
| predicted_R | 0.4160 |
| predicted_RBI | 0.2280 |
| predicted_SLG | 0.3029 |
| predicted_SO | 0.8400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.1080 | 0.1361 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1720 | 3.3980 | 3.2658 | model_form_blend |
| predicted_AVG | 0.2860 | 0.2344 | 0.2646 | model_form_blend |
| predicted_BB | 0.2970 | 0.2960 | 0.2966 | model_form_blend |
| predicted_H | 0.9060 | 0.7960 | 0.8603 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0470 | 0.0410 | 0.0445 | model_form_blend |
| predicted_OBP | 0.3470 | 0.2959 | 0.3258 | model_form_blend |
| predicted_R | 0.4060 | 0.4160 | 0.4102 | model_form_blend |
| predicted_RBI | 0.3120 | 0.2280 | 0.2771 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3029 | 0.3474 | model_form_blend |
| predicted_SO | 0.7660 | 0.8400 | 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 | 228 |
| Season rows before report date | 228 |
| Report year | 2026 |
| Profile rows used | 64 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 685133 |
| playerID | 685133 |
| playerName | Wade Meckler |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.328 |
| sl_xwoba | 0.304 |
| sl_xba | 0.253 |
| sl_xslg | 0.354 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 32.3 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 6.6 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 44.9 |
| at_bat_number | 29.0 |
| ab_pitcher | 656986.0 |
| ab_pitcher_name | Sousa, Bennett |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 4.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 694203.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Wade Meckler grounds out, second baseman Jose Altuve to first baseman Christian Walker. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 3.0 |
| ab_launch_speed_last | 74.2 |
| ab_launch_angle_last | -32.0 |
| ab_hit_distance_last | 5.0 |
| ab_estimated_ba_last | 0.058 |
| ab_estimated_woba_last | 0.052 |
| ab_estimated_slg_last | 0.064 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 1.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 93.55 |
| ab_release_spin_rate_avg | 2275.0 |
| ab_effective_speed_avg | 93.75 |
| ab_launch_speed_avg | 74.2 |
| ab_launch_angle_avg | -32.0 |
| ab_delta_run_exp_avg | -0.1399999999999999 |
| ab_delta_home_win_exp_avg | 0.0174999999999999 |
| ab_delta_pitcher_run_exp_avg | 0.1399999999999999 |
| ab_bat_speed_avg | 65.7 |
| ab_swing_length_avg | 5.8 |
| ab_launch_speed_max | 74.2 |
| ab_hit_distance_sc_max | 5.0 |
| ab_release_speed_max | 93.6 |
| ab_release_spin_rate_max | 2306.0 |
| ab_release_speed_min | 93.5 |
| ab_release_spin_rate_min | 2244.0 |
| ab_delta_run_exp_sum | -0.2799999999999999 |
| ab_delta_home_win_exp_sum | 0.0349999999999999 |
| ab_delta_pitcher_run_exp_sum | 0.2799999999999999 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.083 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.090 | 4.000 | 3.000 | Hitting_AB | 3.618 | 3.000 | 0.382 | 1.000 |
| predicted_AVG | 0.182 | 0.000 | 0.333 | Hitting_AVG | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_BB | 0.292 | 0.000 | 0.000 | Hitting_BB | 0.364 | 1.000 | -0.364 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.560 | 0.000 | 1.000 | Hitting_H | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.242 | 0.000 | 0.333 | Hitting_OBP | 0.205 | 0.250 | -0.205 | -0.250 |
| predicted_R | 0.236 | 0.000 | 0.000 | Hitting_R | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.246 | 0.000 | 0.333 | Hitting_SLG | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_SO | 0.667 | 2.000 | 1.000 | Hitting_SO | 0.891 | 1.000 | 1.109 | 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.6670 -> 2.0000 (boost 1.3330, worse) |
| Biggest Deboost | predicted_H: 0.5600 -> 0.0000 (deboost -0.5600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0900 -> 3.1637 (boost 0.0737, better) | predicted_AVG: 0.1820 -> 0.1732 (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 | 1 | 0 | 1 | 0 | predicted_SLG: 0.2440 -> 0.2598 (boost 0.0158, 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.5430 -> 1.0000 (boost 0.4570, better) | predicted_BB: 0.3051 -> 0.0000 (deboost -0.3051, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.172 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2348 -> 0.0000 (deboost -0.2348, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1716 -> 0.3330 (boost 0.1614, 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.1716 (deboost -0.1614, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"position": "DH",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.083,
"predicted_3B": 0.0,
"predicted_AB": 3.09,
"predicted_AVG": 0.182,
"predicted_BB": 0.292,
"predicted_H": 0.56,
"predicted_HR": 0.07,
"predicted_OBP": 0.242,
"predicted_R": 0.236,
"predicted_RBI": 0.28,
"predicted_SLG": 0.246,
"predicted_SO": 0.667
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0768,
"predicted_3B": 0.0008,
"predicted_AB": 3.1637,
"predicted_AVG": 0.1732,
"predicted_BB": 0.307,
"predicted_H": 0.5459,
"predicted_HBP": 0.003,
"predicted_HR": 0.0675,
"predicted_OBP": 0.2401,
"predicted_R": 0.2372,
"predicted_RBI": 0.2604,
"predicted_SLG": 0.244,
"predicted_SO": 0.7032
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.083,
"after": 0.0768,
"delta": -0.0062,
"percent_delta": -0.0747,
"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.09,
"after": 3.1637,
"delta": 0.0737,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.182,
"after": 0.1732,
"delta": -0.0088,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.307,
"delta": 0.015,
"percent_delta": 0.0514,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.5459,
"delta": -0.0141,
"percent_delta": -0.0252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0675,
"delta": -0.0025,
"percent_delta": -0.0357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.242,
"after": 0.2401,
"delta": -0.0019,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.236,
"after": 0.2372,
"delta": 0.0012,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2604,
"delta": -0.0196,
"percent_delta": -0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.246,
"after": 0.244,
"delta": -0.002,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.7032,
"delta": 0.0362,
"percent_delta": 0.0543,
"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.09,
"after": 3.1637,
"delta": 0.0737,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.182,
"after": 0.1732,
"delta": -0.0088,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0768,
"predicted_3B": 0.0008,
"predicted_AB": 3.1637,
"predicted_AVG": 0.1716,
"predicted_BB": 0.3051,
"predicted_H": 0.543,
"predicted_HBP": 0.003,
"predicted_HR": 0.0668,
"predicted_OBP": 0.2445,
"predicted_R": 0.2348,
"predicted_RBI": 0.2577,
"predicted_SLG": 0.2598,
"predicted_SO": 0.7076
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0768,
"after": 0.0768,
"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.1637,
"after": 3.1637,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1732,
"after": 0.1716,
"delta": -0.0016,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.307,
"after": 0.3051,
"delta": -0.0019,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5459,
"after": 0.543,
"delta": -0.0029,
"percent_delta": -0.0053,
"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.0675,
"after": 0.0668,
"delta": -0.0007,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2401,
"after": 0.2445,
"delta": 0.0044,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2372,
"after": 0.2348,
"delta": -0.0024,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2604,
"after": 0.2577,
"delta": -0.0027,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.244,
"after": 0.2598,
"delta": 0.0158,
"percent_delta": 0.0648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7032,
"after": 0.7076,
"delta": 0.0044,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_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.244,
"after": 0.2598,
"delta": 0.0158,
"percent_delta": 0.0648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.172 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0768,
"after": 0.0,
"delta": -0.0768,
"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.1637,
"after": 3.0,
"delta": -0.1637,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3051,
"after": 0.0,
"delta": -0.3051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"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.0668,
"after": 0.0,
"delta": -0.0668,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2577,
"after": 0.0,
"delta": -0.2577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7076,
"after": 1.0,
"delta": 0.2924,
"percent_delta": 0.4132,
"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.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3051,
"after": 0.0,
"delta": -0.3051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2348,
"after": 0.0,
"delta": -0.2348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2348,
"after": 0.0,
"delta": -0.2348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1716,
"after": 0.333,
"delta": 0.1614,
"percent_delta": 0.9406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2445,
"after": 0.333,
"delta": 0.0885,
"percent_delta": 0.362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2598,
"after": 0.333,
"delta": 0.0732,
"percent_delta": 0.2818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1716,
"after": 0.333,
"delta": 0.1614,
"percent_delta": 0.9406,
"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.1716,
"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.2445,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2598,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1716,
"delta": -0.1614,
"percent_delta": -0.4846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2445,
"delta": -0.0885,
"percent_delta": -0.2658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2598,
"delta": -0.0732,
"percent_delta": -0.2199,
"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.1716,
"delta": -0.1614,
"percent_delta": -0.4846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 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.182,
"after": 0.1716,
"delta": -0.0104,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"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.242,
"after": 0.2445,
"delta": 0.0025,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.236,
"after": 0.0,
"delta": -0.236,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.246,
"after": 0.2598,
"delta": 0.0138,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 2.0,
"delta": 1.333,
"percent_delta": 1.9985,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.667,
"after": 2.0,
"delta": 1.333,
"percent_delta": 1.9985,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.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.083 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.090 | - |
| predicted_AVG | 0.182 | - |
| predicted_BB | 0.292 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.242 | - |
| predicted_R | 0.236 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.246 | - |
| predicted_SO | 0.667 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.077 | -0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.164 | 0.074 |
| predicted_AVG | 0.173 | -0.009 |
| predicted_BB | 0.307 | 0.015 |
| predicted_H | 0.546 | -0.014 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.068 | -0.003 |
| predicted_OBP | 0.240 | -0.002 |
| predicted_R | 0.237 | 0.001 |
| predicted_RBI | 0.260 | -0.020 |
| predicted_SLG | 0.244 | -0.002 |
| predicted_SO | 0.703 | 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.077 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.164 | 0.000 |
| predicted_AVG | 0.172 | -0.002 |
| predicted_BB | 0.305 | -0.002 |
| predicted_H | 0.543 | -0.003 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.067 | -0.001 |
| predicted_OBP | 0.244 | 0.004 |
| predicted_R | 0.235 | -0.002 |
| predicted_RBI | 0.258 | -0.003 |
| predicted_SLG | 0.260 | 0.016 |
| predicted_SO | 0.708 | 0.004 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.172 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.077 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.164 |
| predicted_AVG | 0.333 | 0.161 |
| predicted_BB | 0.000 | -0.305 |
| predicted_H | 1.000 | 0.457 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.333 | 0.089 |
| predicted_R | 0.000 | -0.235 |
| predicted_RBI | 0.000 | -0.258 |
| predicted_SLG | 0.333 | 0.073 |
| predicted_SO | 1.000 | 0.292 |
Attached simulation box 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 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 0.0526 | 0.1429 | 0.0526 | 0.0526 | 0.0000 | 0.0000 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 36.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 9.000 | 0.0833 | 0.1750 | 0.0833 | 0.0833 | 0.0000 | 0.0000 | 0.1111 | 0.2500 |
| season | 0.60 | 72 | - | 206.000 | 42.000 | 6.000 | 0.000 | 6.000 | 22.000 | 17.000 | 21.000 | 48.000 | 0.2039 | 0.2751 | 0.3204 | 0.2039 | 0.0291 | 0.1068 | 0.1019 | 0.2330 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0680 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2670 |
| predicted_AVG | 0.1609 |
| predicted_BB | 0.3280 |
| predicted_H | 0.5260 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.2375 |
| predicted_R | 0.2390 |
| predicted_RBI | 0.2330 |
| predicted_SLG | 0.2413 |
| predicted_SO | 0.7540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0830 | 0.0680 | 0.0768 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0900 | 3.2670 | 3.1637 | model_form_blend |
| predicted_AVG | 0.1820 | 0.1609 | 0.1732 | model_form_blend |
| predicted_BB | 0.2920 | 0.3280 | 0.3070 | model_form_blend |
| predicted_H | 0.5600 | 0.5260 | 0.5459 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0700 | 0.0640 | 0.0675 | model_form_blend |
| predicted_OBP | 0.2420 | 0.2375 | 0.2401 | model_form_blend |
| predicted_R | 0.2360 | 0.2390 | 0.2372 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2330 | 0.2604 | model_form_blend |
| predicted_SLG | 0.2460 | 0.2413 | 0.2440 | model_form_blend |
| predicted_SO | 0.6670 | 0.7540 | 0.7032 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 55 |
| Season rows before report date | 55 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 694208 |
| playerID | 694208 |
| playerName | Moisés Ballesteros |
| pos | DH |
| started | True |
| startingPosition | C |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.269 |
| sl_xwoba | 0.302 |
| sl_xba | 0.232 |
| sl_xslg | 0.372 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 10.5 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 48.8 |
| at_bat_number | 60.0 |
| ab_pitcher | 650556.0 |
| ab_pitcher_name | Abreu, Bryan |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Moisés Ballesteros strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 93.5 |
| ab_release_spin_rate_avg | 2637.0 |
| ab_effective_speed_avg | 93.63333333333333 |
| ab_delta_run_exp_avg | -0.0873333333333333 |
| ab_delta_home_win_exp_avg | 0.0136666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0873333333333333 |
| ab_bat_speed_avg | 67.15 |
| ab_swing_length_avg | 5.65 |
| ab_release_speed_max | 97.4 |
| ab_release_spin_rate_max | 3015.0 |
| ab_release_speed_min | 85.9 |
| ab_release_spin_rate_min | 2437.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | 0.041 |
| ab_delta_pitcher_run_exp_sum | 0.262 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.198 | 0.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.593 | 4.000 | 4.000 | Hitting_AB | 3.779 | 3.000 | 0.221 | 1.000 |
| predicted_AVG | 0.244 | 0.000 | 0.250 | Hitting_AVG | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_BB | 0.247 | 0.000 | 0.000 | Hitting_BB | 0.271 | 1.000 | -0.271 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.877 | 0.000 | 1.000 | Hitting_H | 0.953 | 0.000 | -0.953 | 0.000 |
| predicted_HR | 0.086 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.293 | 0.000 | 0.250 | Hitting_OBP | 0.307 | 0.250 | -0.307 | -0.250 |
| predicted_R | 0.383 | 0.000 | 0.000 | Hitting_R | 0.421 | 1.000 | -0.421 | -1.000 |
| predicted_RBI | 0.568 | 0.000 | 1.000 | Hitting_RBI | 0.664 | 0.000 | -0.664 | 0.000 |
| predicted_SLG | 0.371 | 0.000 | 0.250 | Hitting_SLG | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_SO | 0.741 | 1.000 | 1.000 | Hitting_SO | 0.751 | 3.000 | 0.249 | -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_AB: 3.5930 -> 4.0000 (boost 0.4070, better) |
| Biggest Deboost | predicted_H: 0.8770 -> 0.0000 (deboost -0.8770, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.7410 -> 0.8744 (boost 0.1334, worse) | predicted_RBI: 0.5680 -> 0.4869 (deboost -0.0811, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.4819 -> 1.0000 (boost 0.5181, better) | predicted_BB: 0.2315 -> 0.0000 (deboost -0.2315, worse) | AB rounded to 4 (raw=3.63), rates preserved: AVG=0.229 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3783 -> 0.0000 (deboost -0.3783, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2294 -> 0.2500 (boost 0.0206, better) | predicted_SLG: 0.3392 -> 0.2500 (deboost -0.0892, 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.3392 (boost 0.0892, better) | predicted_AVG: 0.2500 -> 0.2294 (deboost -0.0206, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687093",
"player_name": "Vaughn Grissom",
"position": "3B",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.198,
"predicted_3B": 0.0,
"predicted_AB": 3.593,
"predicted_AVG": 0.244,
"predicted_BB": 0.247,
"predicted_H": 0.877,
"predicted_HR": 0.086,
"predicted_OBP": 0.293,
"predicted_R": 0.383,
"predicted_RBI": 0.568,
"predicted_SLG": 0.371,
"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.1751,
"predicted_3B": 0.0004,
"predicted_AB": 3.6325,
"predicted_AVG": 0.2308,
"predicted_BB": 0.233,
"predicted_H": 0.8379,
"predicted_HBP": 0.037,
"predicted_HR": 0.075,
"predicted_OBP": 0.2792,
"predicted_R": 0.3822,
"predicted_RBI": 0.4869,
"predicted_SLG": 0.3413,
"predicted_SO": 0.8744
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.1751,
"delta": -0.0229,
"percent_delta": -0.1157,
"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.593,
"after": 3.6325,
"delta": 0.0395,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2308,
"delta": -0.0132,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 0.233,
"delta": -0.014,
"percent_delta": -0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.877,
"after": 0.8379,
"delta": -0.0391,
"percent_delta": -0.0446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.086,
"after": 0.075,
"delta": -0.011,
"percent_delta": -0.1279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2792,
"delta": -0.0138,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.383,
"after": 0.3822,
"delta": -0.0008,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.568,
"after": 0.4869,
"delta": -0.0811,
"percent_delta": -0.1428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3413,
"delta": -0.0297,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.741,
"after": 0.8744,
"delta": 0.1334,
"percent_delta": 0.18,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.741,
"after": 0.8744,
"delta": 0.1334,
"percent_delta": 0.18,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.568,
"after": 0.4869,
"delta": -0.0811,
"percent_delta": -0.1428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1751,
"predicted_3B": 0.0004,
"predicted_AB": 3.6325,
"predicted_AVG": 0.2294,
"predicted_BB": 0.2315,
"predicted_H": 0.8334,
"predicted_HBP": 0.037,
"predicted_HR": 0.0742,
"predicted_OBP": 0.2756,
"predicted_R": 0.3783,
"predicted_RBI": 0.4819,
"predicted_SLG": 0.3392,
"predicted_SO": 0.8799
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1751,
"after": 0.1751,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6325,
"after": 3.6325,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2308,
"after": 0.2294,
"delta": -0.0014,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.2315,
"delta": -0.0015,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8379,
"after": 0.8334,
"delta": -0.0045,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.075,
"after": 0.0742,
"delta": -0.0008,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2792,
"after": 0.2756,
"delta": -0.0036,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3822,
"after": 0.3783,
"delta": -0.0039,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4869,
"after": 0.4819,
"delta": -0.005,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3413,
"after": 0.3392,
"delta": -0.0021,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8744,
"after": 0.8799,
"delta": 0.0055,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.63), rates preserved: AVG=0.229 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1751,
"after": 0.0,
"delta": -0.1751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6325,
"after": 4.0,
"delta": 0.3675,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2315,
"after": 0.0,
"delta": -0.2315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8334,
"after": 1.0,
"delta": 0.1666,
"percent_delta": 0.1999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0742,
"after": 0.0,
"delta": -0.0742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4819,
"after": 1.0,
"delta": 0.5181,
"percent_delta": 1.0751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8799,
"after": 1.0,
"delta": 0.1201,
"percent_delta": 0.1365,
"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.4819,
"after": 1.0,
"delta": 0.5181,
"percent_delta": 1.0751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2315,
"after": 0.0,
"delta": -0.2315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3783,
"after": 0.0,
"delta": -0.3783,
"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.3783,
"after": 0.0,
"delta": -0.3783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment 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.2294,
"after": 0.25,
"delta": 0.0206,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2756,
"after": 0.25,
"delta": -0.0256,
"percent_delta": -0.0929,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3392,
"after": 0.25,
"delta": -0.0892,
"percent_delta": -0.263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.2294,
"after": 0.25,
"delta": 0.0206,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3392,
"after": 0.25,
"delta": -0.0892,
"percent_delta": -0.263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2294,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2756,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3392,
"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.2294,
"delta": -0.0206,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2756,
"delta": 0.0256,
"percent_delta": 0.1024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3392,
"delta": 0.0892,
"percent_delta": 0.3567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3392,
"delta": 0.0892,
"percent_delta": 0.3567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2294,
"delta": -0.0206,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.593,
"after": 4.0,
"delta": 0.407,
"percent_delta": 0.1133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2294,
"delta": -0.0146,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.877,
"after": 0.0,
"delta": -0.877,
"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_OBP",
"before": 0.293,
"after": 0.2756,
"delta": -0.0174,
"percent_delta": -0.0594,
"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.568,
"after": 0.0,
"delta": -0.568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3392,
"delta": -0.0318,
"percent_delta": -0.0857,
"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": 3.593,
"after": 4.0,
"delta": 0.407,
"percent_delta": 0.1133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.877,
"after": 0.0,
"delta": -0.877,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.198 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.593 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.247 | - |
| predicted_H | 0.877 | - |
| predicted_HR | 0.086 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.383 | - |
| predicted_RBI | 0.568 | - |
| predicted_SLG | 0.371 | - |
| 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.175 | -0.023 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.632 | 0.039 |
| predicted_AVG | 0.231 | -0.013 |
| predicted_BB | 0.233 | -0.014 |
| predicted_H | 0.838 | -0.039 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.075 | -0.011 |
| predicted_OBP | 0.279 | -0.014 |
| predicted_R | 0.382 | -0.001 |
| predicted_RBI | 0.487 | -0.081 |
| predicted_SLG | 0.341 | -0.030 |
| predicted_SO | 0.874 | 0.133 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.632 | 0.000 |
| predicted_AVG | 0.229 | -0.001 |
| predicted_BB | 0.232 | -0.002 |
| predicted_H | 0.833 | -0.004 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.074 | -0.001 |
| predicted_OBP | 0.276 | -0.004 |
| predicted_R | 0.378 | -0.004 |
| predicted_RBI | 0.482 | -0.005 |
| predicted_SLG | 0.339 | -0.002 |
| predicted_SO | 0.880 | 0.006 |
AB rounded to 4 (raw=3.63), rates preserved: AVG=0.229 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 | 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.175 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.368 |
| predicted_AVG | 0.250 | 0.021 |
| predicted_BB | 0.000 | -0.232 |
| predicted_H | 1.000 | 0.167 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.250 | -0.026 |
| predicted_R | 0.000 | -0.378 |
| predicted_RBI | 1.000 | 0.518 |
| predicted_SLG | 0.250 | -0.089 |
| predicted_SO | 1.000 | 0.120 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 9.000 | 0.1579 | 0.2000 | 0.1579 | 0.1579 | 0.0000 | 0.0000 | 0.0526 | 0.4737 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 14.000 | 0.1579 | 0.1795 | 0.1842 | 0.1579 | 0.0000 | 0.0263 | 0.0263 | 0.3684 |
| season | 0.60 | 81 | - | 291.000 | 71.000 | 16.000 | 0.000 | 7.000 | 46.000 | 31.000 | 20.000 | 60.000 | 0.2440 | 0.3009 | 0.3711 | 0.2440 | 0.0240 | 0.1581 | 0.0687 | 0.2062 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6860 |
| predicted_AVG | 0.2129 |
| predicted_BB | 0.2140 |
| predicted_H | 0.7850 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.2606 |
| predicted_R | 0.3810 |
| predicted_RBI | 0.3770 |
| predicted_SLG | 0.3012 |
| predicted_SO | 1.0550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.1440 | 0.1751 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5930 | 3.6860 | 3.6325 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2129 | 0.2308 | model_form_blend |
| predicted_BB | 0.2470 | 0.2140 | 0.2330 | model_form_blend |
| predicted_H | 0.8770 | 0.7850 | 0.8379 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.0860 | 0.0600 | 0.0750 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2606 | 0.2792 | model_form_blend |
| predicted_R | 0.3830 | 0.3810 | 0.3822 | model_form_blend |
| predicted_RBI | 0.5680 | 0.3770 | 0.4869 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3012 | 0.3413 | model_form_blend |
| predicted_SO | 0.7410 | 1.0550 | 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 | 321 |
| Season rows before report date | 321 |
| Report year | 2026 |
| Profile rows used | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 687093 |
| playerID | 687093 |
| playerName | Vaughn Grissom |
| pos | 2B |
| started | True |
| startingPosition | DH |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.299 |
| sl_xwoba | 0.309 |
| sl_xba | 0.249 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 38.3 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 48.9 |
| at_bat_number | 61.0 |
| ab_pitcher | 650556.0 |
| ab_pitcher_name | Abreu, Bryan |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Vaughn Grissom called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 92.86666666666667 |
| ab_release_spin_rate_avg | 2658.833333333333 |
| ab_effective_speed_avg | 93.13333333333333 |
| ab_delta_run_exp_avg | -0.0431666666666666 |
| ab_delta_home_win_exp_avg | 0.0045 |
| ab_delta_pitcher_run_exp_avg | 0.0431666666666666 |
| ab_bat_speed_avg | 33.5 |
| ab_swing_length_avg | 6.4 |
| ab_release_speed_max | 98.7 |
| ab_release_spin_rate_max | 3071.0 |
| ab_release_speed_min | 86.5 |
| ab_release_spin_rate_min | 2430.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | 0.027 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.077 | 0.000 | 0.000 | Hitting_2B | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.949 | 3.000 | 3.000 | Hitting_AB | 3.146 | 2.000 | -0.146 | 1.000 |
| predicted_AVG | 0.209 | 0.333 | 0.333 | Hitting_AVG | 0.204 | 1.000 | 0.130 | -0.667 |
| predicted_BB | 0.218 | 0.000 | 0.000 | Hitting_BB | 0.245 | 1.000 | -0.245 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 1.000 | -0.012 | -1.000 |
| predicted_H | 0.615 | 1.000 | 1.000 | Hitting_H | 0.640 | 2.000 | 0.360 | -1.000 |
| predicted_HR | 0.128 | 1.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | 0.862 | 1.000 |
| predicted_OBP | 0.263 | 0.333 | 0.333 | Hitting_OBP | 0.263 | 1.000 | 0.070 | -0.667 |
| predicted_R | 0.282 | 1.000 | 0.000 | Hitting_R | 0.316 | 1.000 | 0.684 | 0.000 |
| predicted_RBI | 0.333 | 1.000 | 0.000 | Hitting_RBI | 0.348 | 0.000 | 0.652 | 1.000 |
| predicted_SLG | 0.365 | 1.333 | 0.333 | Hitting_SLG | 0.358 | 1.000 | 0.975 | 0.333 |
| predicted_SO | 0.910 | 1.000 | 1.000 | Hitting_SO | 0.972 | 0.000 | 0.028 | 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_HR: 0.1280 -> 1.0000 (boost 0.8720, better) |
| Biggest Deboost | predicted_BB: 0.2180 -> 0.0000 (deboost -0.2180, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_AB: 2.9490 -> 3.0026 (boost 0.0536, 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 | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6454 -> 1.0000 (boost 0.3546, better) | predicted_RBI: 0.3461 -> 0.0000 (deboost -0.3461, worse) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.215 HR/AB=0.051 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3119 -> 0.0000 (deboost -0.3119, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2149 -> 0.3330 (boost 0.1181, better) | predicted_SLG: 0.3933 -> 0.3330 (deboost -0.0603, 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_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3933 (boost 0.0603, better) | predicted_AVG: 0.3330 -> 0.2149 (deboost -0.1181, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666139",
"player_name": "Josh Lowe",
"position": "RF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.077,
"predicted_3B": 0.0,
"predicted_AB": 2.949,
"predicted_AVG": 0.209,
"predicted_BB": 0.218,
"predicted_H": 0.615,
"predicted_HR": 0.128,
"predicted_OBP": 0.263,
"predicted_R": 0.282,
"predicted_RBI": 0.333,
"predicted_SLG": 0.365,
"predicted_SO": 0.91
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0774,
"predicted_3B": 0.0004,
"predicted_AB": 3.0026,
"predicted_AVG": 0.2162,
"predicted_BB": 0.2176,
"predicted_H": 0.6489,
"predicted_HBP": 0.01,
"predicted_HR": 0.154,
"predicted_OBP": 0.2697,
"predicted_R": 0.3151,
"predicted_RBI": 0.3497,
"predicted_SLG": 0.3952,
"predicted_SO": 0.9255
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.077,
"after": 0.0774,
"delta": 0.0004,
"percent_delta": 0.0052,
"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.949,
"after": 3.0026,
"delta": 0.0536,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.2162,
"delta": 0.0072,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.218,
"after": 0.2176,
"delta": -0.0004,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.615,
"after": 0.6489,
"delta": 0.0339,
"percent_delta": 0.0551,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.128,
"after": 0.154,
"delta": 0.026,
"percent_delta": 0.2031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2697,
"delta": 0.0067,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.282,
"after": 0.3151,
"delta": 0.0331,
"percent_delta": 0.1174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.333,
"after": 0.3497,
"delta": 0.0167,
"percent_delta": 0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3952,
"delta": 0.0302,
"percent_delta": 0.0827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.91,
"after": 0.9255,
"delta": 0.0155,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.949,
"after": 3.0026,
"delta": 0.0536,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.0774,
"predicted_3B": 0.0004,
"predicted_AB": 3.0026,
"predicted_AVG": 0.2149,
"predicted_BB": 0.2162,
"predicted_H": 0.6454,
"predicted_HBP": 0.01,
"predicted_HR": 0.1525,
"predicted_OBP": 0.2677,
"predicted_R": 0.3119,
"predicted_RBI": 0.3461,
"predicted_SLG": 0.3933,
"predicted_SO": 0.9313
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0774,
"after": 0.0774,
"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.0026,
"after": 3.0026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2162,
"after": 0.2149,
"delta": -0.0013,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2176,
"after": 0.2162,
"delta": -0.0014,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6489,
"after": 0.6454,
"delta": -0.0035,
"percent_delta": -0.0054,
"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.154,
"after": 0.1525,
"delta": -0.0015,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2697,
"after": 0.2677,
"delta": -0.002,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3151,
"after": 0.3119,
"delta": -0.0032,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3497,
"after": 0.3461,
"delta": -0.0036,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3952,
"after": 0.3933,
"delta": -0.0019,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9255,
"after": 0.9313,
"delta": 0.0058,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.00), rates preserved: AVG=0.215 HR/AB=0.051",
"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.0774,
"after": 0.0,
"delta": -0.0774,
"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.0026,
"after": 3.0,
"delta": -0.0026,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2162,
"after": 0.0,
"delta": -0.2162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6454,
"after": 1.0,
"delta": 0.3546,
"percent_delta": 0.5494,
"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.1525,
"after": 0.0,
"delta": -0.1525,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3461,
"after": 0.0,
"delta": -0.3461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9313,
"after": 1.0,
"delta": 0.0687,
"percent_delta": 0.0738,
"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.6454,
"after": 1.0,
"delta": 0.3546,
"percent_delta": 0.5494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3461,
"after": 0.0,
"delta": -0.3461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3119,
"after": 0.0,
"delta": -0.3119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3119,
"after": 0.0,
"delta": -0.3119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2149,
"after": 0.333,
"delta": 0.1181,
"percent_delta": 0.5496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2677,
"after": 0.333,
"delta": 0.0653,
"percent_delta": 0.2439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3933,
"after": 0.333,
"delta": -0.0603,
"percent_delta": -0.1533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2149,
"after": 0.333,
"delta": 0.1181,
"percent_delta": 0.5496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3933,
"after": 0.333,
"delta": -0.0603,
"percent_delta": -0.1533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2149,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2677,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3933,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2149,
"delta": -0.1181,
"percent_delta": -0.3545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2677,
"delta": -0.0653,
"percent_delta": -0.1961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3933,
"delta": 0.0603,
"percent_delta": 0.1811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3933,
"delta": 0.0603,
"percent_delta": 0.1811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2149,
"delta": -0.1181,
"percent_delta": -0.3545,
"direction": "deboost",
"projection_effect": "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.949,
"after": 3.0,
"delta": 0.051,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.209,
"after": 0.2149,
"delta": 0.0059,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"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.615,
"after": 1.0,
"delta": 0.385,
"percent_delta": 0.626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.128,
"after": 1.0,
"delta": 0.872,
"percent_delta": 6.8125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2677,
"delta": 0.0047,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.282,
"after": 1.0,
"delta": 0.718,
"percent_delta": 2.5461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3933,
"delta": 0.0283,
"percent_delta": 0.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.91,
"after": 1.0,
"delta": 0.09,
"percent_delta": 0.0989,
"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_HR",
"before": 0.128,
"after": 1.0,
"delta": 0.872,
"percent_delta": 6.8125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.218,
"after": 0.0,
"delta": -0.218,
"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.077 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.949 | - |
| predicted_AVG | 0.209 | - |
| predicted_BB | 0.218 | - |
| predicted_H | 0.615 | - |
| predicted_HR | 0.128 | - |
| predicted_OBP | 0.263 | - |
| predicted_R | 0.282 | - |
| predicted_RBI | 0.333 | - |
| predicted_SLG | 0.365 | - |
| predicted_SO | 0.910 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.077 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.003 | 0.054 |
| predicted_AVG | 0.216 | 0.007 |
| predicted_BB | 0.218 | -0.000 |
| predicted_H | 0.649 | 0.034 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.154 | 0.026 |
| predicted_OBP | 0.270 | 0.007 |
| predicted_R | 0.315 | 0.033 |
| predicted_RBI | 0.350 | 0.017 |
| predicted_SLG | 0.395 | 0.030 |
| predicted_SO | 0.925 | 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.077 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.003 | 0.000 |
| predicted_AVG | 0.215 | -0.001 |
| predicted_BB | 0.216 | -0.001 |
| predicted_H | 0.645 | -0.004 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.152 | -0.002 |
| predicted_OBP | 0.268 | -0.002 |
| predicted_R | 0.312 | -0.003 |
| predicted_RBI | 0.346 | -0.004 |
| predicted_SLG | 0.393 | -0.002 |
| predicted_SO | 0.931 | 0.006 |
AB rounded to 3 (raw=3.00), rates preserved: AVG=0.215 HR/AB=0.051
| 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.077 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.003 |
| predicted_AVG | 0.333 | 0.118 |
| predicted_BB | 0.000 | -0.216 |
| predicted_H | 1.000 | 0.355 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.333 | 0.065 |
| predicted_R | 0.000 | -0.312 |
| predicted_RBI | 0.000 | -0.346 |
| predicted_SLG | 0.333 | -0.060 |
| predicted_SO | 1.000 | 0.069 |
Attached 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 | - | 16.000 | 4.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.2500 | 0.2941 | 0.6250 | 0.2500 | 0.1250 | 0.1250 | 0.0625 | 0.2500 |
| last_10 | 0.20 | 10 | - | 29.000 | 7.000 | 1.000 | 0.000 | 2.000 | 4.000 | 3.000 | 2.000 | 12.000 | 0.2414 | 0.2903 | 0.4828 | 0.2414 | 0.0690 | 0.1379 | 0.0690 | 0.4138 |
| season | 0.60 | 78 | - | 230.000 | 48.000 | 6.000 | 0.000 | 10.000 | 26.000 | 22.000 | 17.000 | 71.000 | 0.2087 | 0.2651 | 0.3652 | 0.2087 | 0.0435 | 0.1130 | 0.0739 | 0.3087 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0780 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.0770 |
| predicted_AVG | 0.2261 |
| predicted_BB | 0.2170 |
| predicted_H | 0.6960 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1900 |
| predicted_OBP | 0.2791 |
| predicted_R | 0.3610 |
| predicted_RBI | 0.3730 |
| predicted_SLG | 0.4372 |
| predicted_SO | 0.9470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0770 | 0.0780 | 0.0774 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.9490 | 3.0770 | 3.0026 | model_form_blend |
| predicted_AVG | 0.2090 | 0.2261 | 0.2162 | model_form_blend |
| predicted_BB | 0.2180 | 0.2170 | 0.2176 | model_form_blend |
| predicted_H | 0.6150 | 0.6960 | 0.6489 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1280 | 0.1900 | 0.1540 | model_form_blend |
| predicted_OBP | 0.2630 | 0.2791 | 0.2697 | model_form_blend |
| predicted_R | 0.2820 | 0.3610 | 0.3151 | model_form_blend |
| predicted_RBI | 0.3330 | 0.3730 | 0.3497 | model_form_blend |
| predicted_SLG | 0.3650 | 0.4372 | 0.3952 | model_form_blend |
| predicted_SO | 0.9100 | 0.9470 | 0.9255 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 253 |
| Season rows before report date | 253 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.209 |
| 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 | 1.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 666139 |
| playerID | 666139 |
| playerName | Josh Lowe |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 28.2 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.278 |
| sl_xwoba | 0.296 |
| sl_xba | 0.223 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 38.9 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 57.0 |
| at_bat_number | 45.0 |
| ab_pitcher | 805123.0 |
| ab_pitcher_name | Blubaugh, AJ |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | single |
| ab_event_description | Josh Lowe singles on a line drive to left fielder LaMonte Wade Jr. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 93.5 |
| ab_launch_angle_last | 9.0 |
| ab_hit_distance_last | 175.0 |
| ab_estimated_ba_last | 0.629 |
| ab_estimated_woba_last | 0.568 |
| ab_estimated_slg_last | 0.674 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 91.75 |
| ab_release_spin_rate_avg | 2391.0 |
| ab_effective_speed_avg | 91.6 |
| ab_launch_speed_avg | 93.5 |
| ab_launch_angle_avg | 9.0 |
| ab_delta_run_exp_avg | 0.207 |
| ab_delta_home_win_exp_avg | -0.0204999999999999 |
| ab_delta_pitcher_run_exp_avg | -0.207 |
| ab_bat_speed_avg | 71.75 |
| ab_swing_length_avg | 7.800000000000001 |
| ab_launch_speed_max | 93.5 |
| ab_hit_distance_sc_max | 175.0 |
| ab_release_speed_max | 96.9 |
| ab_release_spin_rate_max | 2412.0 |
| ab_release_speed_min | 86.6 |
| ab_release_spin_rate_min | 2370.0 |
| ab_delta_run_exp_sum | 0.414 |
| ab_delta_home_win_exp_sum | -0.0409999999999999 |
| ab_delta_pitcher_run_exp_sum | -0.414 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.195 | 1.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | 0.790 | 1.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.530 | 4.000 | 5.000 | Hitting_AB | 4.022 | 4.000 | -0.022 | 0.000 |
| predicted_AVG | 0.225 | 0.250 | 0.200 | Hitting_AVG | 0.230 | 0.250 | 0.020 | 0.000 |
| predicted_BB | 0.423 | 0.000 | 0.000 | Hitting_BB | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_H | 1.020 | 1.000 | 1.000 | Hitting_H | 0.925 | 1.000 | 0.075 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.200 | Hitting_OBP | 0.316 | 0.250 | -0.066 | 0.000 |
| predicted_R | 0.618 | 1.000 | 1.000 | Hitting_R | 0.665 | 0.000 | 0.335 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 1.000 | Hitting_RBI | 0.474 | 0.000 | 0.526 | 1.000 |
| predicted_SLG | 0.368 | 0.500 | 0.200 | Hitting_SLG | 0.423 | 0.250 | 0.077 | 0.250 |
| predicted_SO | 1.398 | 0.000 | 2.000 | Hitting_SO | 1.417 | 0.000 | -1.417 | 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_2B: 0.1950 -> 1.0000 (boost 0.8050, better) |
| Biggest Deboost | predicted_SO: 1.3980 -> 0.0000 (deboost -1.3980, 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 | 1 | 4 | - | predicted_AB: 4.5300 -> 4.2439 (deboost -0.2861, worse) | Final model input calibrated with local 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.2965 -> 0.2884 (deboost -0.0081, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_AB: 4.2439 -> 5.0000 (boost 0.7561, better) | predicted_BB: 0.4047 -> 0.0000 (deboost -0.4047, worse) | AB rounded to 5 (raw=4.53), rates preserved: AVG=0.207 HR/AB=0.027 |
| 5 | bvp_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | 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.5213 -> 1.0000 (boost 0.4787, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3627 -> 0.2000 (deboost -0.1627, 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_SO: 2.0000 -> 0.0000 (deboost -2.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3627 (boost 0.1627, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687263",
"player_name": "Zach Neto",
"position": "SS",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.195,
"predicted_3B": 0.024,
"predicted_AB": 4.53,
"predicted_AVG": 0.225,
"predicted_BB": 0.423,
"predicted_H": 1.02,
"predicted_HR": 0.14,
"predicted_OBP": 0.299,
"predicted_R": 0.618,
"predicted_RBI": 0.49,
"predicted_SLG": 0.368,
"predicted_SO": 1.398
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2037,
"predicted_3B": 0.0197,
"predicted_AB": 4.2439,
"predicted_AVG": 0.2213,
"predicted_BB": 0.4073,
"predicted_H": 0.9409,
"predicted_HBP": 0.038,
"predicted_HR": 0.1213,
"predicted_OBP": 0.2965,
"predicted_R": 0.5267,
"predicted_RBI": 0.4626,
"predicted_SLG": 0.3623,
"predicted_SO": 1.2828
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.2037,
"delta": 0.0087,
"percent_delta": 0.0446,
"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.53,
"after": 4.2439,
"delta": -0.2861,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2213,
"delta": -0.0037,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 0.4073,
"delta": -0.0157,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.9409,
"delta": -0.0791,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1213,
"delta": -0.0187,
"percent_delta": -0.1336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2965,
"delta": -0.0025,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.618,
"after": 0.5267,
"delta": -0.0913,
"percent_delta": -0.1477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4626,
"delta": -0.0274,
"percent_delta": -0.0559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3623,
"delta": -0.0057,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.398,
"after": 1.2828,
"delta": -0.1152,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.53,
"after": 4.2439,
"delta": -0.2861,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 123
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2037,
"predicted_3B": 0.0197,
"predicted_AB": 4.2439,
"predicted_AVG": 0.2205,
"predicted_BB": 0.4047,
"predicted_H": 0.9358,
"predicted_HBP": 0.038,
"predicted_HR": 0.1201,
"predicted_OBP": 0.2884,
"predicted_R": 0.5213,
"predicted_RBI": 0.4579,
"predicted_SLG": 0.3627,
"predicted_SO": 1.2909
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2037,
"after": 0.2037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0197,
"after": 0.0197,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2439,
"after": 4.2439,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2213,
"after": 0.2205,
"delta": -0.0008,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4073,
"after": 0.4047,
"delta": -0.0026,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9409,
"after": 0.9358,
"delta": -0.0051,
"percent_delta": -0.0054,
"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.1213,
"after": 0.1201,
"delta": -0.0012,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2965,
"after": 0.2884,
"delta": -0.0081,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5267,
"after": 0.5213,
"delta": -0.0054,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4626,
"after": 0.4579,
"delta": -0.0047,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3623,
"after": 0.3627,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2828,
"after": 1.2909,
"delta": 0.0081,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2965,
"after": 0.2884,
"delta": -0.0081,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.53), rates preserved: AVG=0.207 HR/AB=0.027",
"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.2037,
"after": 0.0,
"delta": -0.2037,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0197,
"after": 0.0,
"delta": -0.0197,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2439,
"after": 5.0,
"delta": 0.7561,
"percent_delta": 0.1782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4047,
"after": 0.0,
"delta": -0.4047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9358,
"after": 1.0,
"delta": 0.0642,
"percent_delta": 0.0686,
"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.1201,
"after": 0.0,
"delta": -0.1201,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4579,
"after": 1.0,
"delta": 0.5421,
"percent_delta": 1.1839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2909,
"after": 1.0,
"delta": -0.2909,
"percent_delta": -0.2253,
"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": 4.2439,
"after": 5.0,
"delta": 0.7561,
"percent_delta": 0.1782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4047,
"after": 0.0,
"delta": -0.4047,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5213,
"after": 1.0,
"delta": 0.4787,
"percent_delta": 0.9183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5213,
"after": 1.0,
"delta": 0.4787,
"percent_delta": 0.9183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2205,
"after": 0.2,
"delta": -0.0205,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2884,
"after": 0.2,
"delta": -0.0884,
"percent_delta": -0.3065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3627,
"after": 0.2,
"delta": -0.1627,
"percent_delta": -0.4486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3627,
"after": 0.2,
"delta": -0.1627,
"percent_delta": -0.4486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 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_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2205,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2884,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3627,
"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.2,
"after": 0.2205,
"delta": 0.0205,
"percent_delta": 0.1025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2884,
"delta": 0.0884,
"percent_delta": 0.4419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3627,
"delta": 0.1627,
"percent_delta": 0.8134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3627,
"delta": 0.1627,
"percent_delta": 0.8134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 1.0,
"delta": 0.805,
"percent_delta": 4.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.53,
"after": 4.0,
"delta": -0.53,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2205,
"delta": -0.0045,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 0.0,
"delta": -0.423,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2884,
"delta": -0.0106,
"percent_delta": -0.0355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 1.0,
"delta": 0.51,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3627,
"delta": -0.0053,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.398,
"after": 0.0,
"delta": -1.398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.195,
"after": 1.0,
"delta": 0.805,
"percent_delta": 4.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.398,
"after": 0.0,
"delta": -1.398,
"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.195 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 4.530 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.423 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.618 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.368 | - |
| predicted_SO | 1.398 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | 0.009 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 4.244 | -0.286 |
| predicted_AVG | 0.221 | -0.004 |
| predicted_BB | 0.407 | -0.016 |
| predicted_H | 0.941 | -0.079 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.121 | -0.019 |
| predicted_OBP | 0.296 | -0.003 |
| predicted_R | 0.527 | -0.091 |
| predicted_RBI | 0.463 | -0.027 |
| predicted_SLG | 0.362 | -0.006 |
| predicted_SO | 1.283 | -0.115 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 4.244 | 0.000 |
| predicted_AVG | 0.221 | -0.001 |
| predicted_BB | 0.405 | -0.003 |
| predicted_H | 0.936 | -0.005 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.120 | -0.001 |
| predicted_OBP | 0.288 | -0.008 |
| predicted_R | 0.521 | -0.005 |
| predicted_RBI | 0.458 | -0.005 |
| predicted_SLG | 0.363 | 0.000 |
| predicted_SO | 1.291 | 0.008 |
AB rounded to 5 (raw=4.53), rates preserved: AVG=0.207 HR/AB=0.027
| 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 | - |
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 | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 1.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.204 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 5.000 | 0.756 |
| predicted_AVG | 0.200 | -0.020 |
| predicted_BB | 0.000 | -0.405 |
| predicted_H | 1.000 | 0.064 |
| predicted_HR | 0.000 | -0.120 |
| predicted_OBP | 0.200 | -0.088 |
| predicted_R | 1.000 | 0.479 |
| predicted_RBI | 1.000 | 0.542 |
| predicted_SLG | 0.200 | -0.163 |
| predicted_SO | 2.000 | 0.709 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 3.000 | 0.2222 | 0.3000 | 0.2778 | 0.2222 | 0.0000 | 0.1111 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 10 | - | 39.000 | 7.000 | 3.000 | 0.000 | 0.000 | 4.000 | 2.000 | 3.000 | 10.000 | 0.1795 | 0.2381 | 0.2564 | 0.1795 | 0.0000 | 0.1026 | 0.0769 | 0.2564 |
| season | 0.60 | 123 | - | 487.000 | 109.000 | 24.000 | 3.000 | 20.000 | 54.000 | 76.000 | 52.000 | 172.000 | 0.2238 | 0.3084 | 0.4086 | 0.2238 | 0.0411 | 0.1109 | 0.1068 | 0.3532 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2150 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.8720 |
| predicted_AVG | 0.2164 |
| predicted_BB | 0.3870 |
| predicted_H | 0.8380 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.2933 |
| predicted_R | 0.4080 |
| predicted_RBI | 0.4270 |
| predicted_SLG | 0.3549 |
| predicted_SO | 1.1330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1950 | 0.2150 | 0.2037 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0197 | model_form_blend |
| predicted_AB | 4.5300 | 3.8720 | 4.2439 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2164 | 0.2213 | model_form_blend |
| predicted_BB | 0.4230 | 0.3870 | 0.4073 | model_form_blend |
| predicted_H | 1.0200 | 0.8380 | 0.9409 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.1400 | 0.0970 | 0.1213 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2933 | 0.2965 | model_form_blend |
| predicted_R | 0.6180 | 0.4080 | 0.5267 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4270 | 0.4626 | model_form_blend |
| predicted_SLG | 0.3680 | 0.3549 | 0.3623 | model_form_blend |
| predicted_SO | 1.3980 | 1.1330 | 1.2828 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 544 |
| Season rows before report date | 544 |
| Report year | 2026 |
| Profile rows used | 123 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.224 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 687263 |
| playerID | 687263 |
| playerName | Zach Neto |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.315 |
| sl_xwoba | 0.295 |
| sl_xba | 0.198 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 39.7 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 22.7 |
| sl_whiff_percent | 33.7 |
| sl_swing_percent | 51.6 |
| at_bat_number | 59.0 |
| ab_pitcher | 650556.0 |
| ab_pitcher_name | Abreu, Bryan |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Zach Neto grounds out, shortstop Nick Allen to first baseman Christian Walker. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 96.4 |
| ab_launch_angle_last | -12.0 |
| ab_hit_distance_last | 10.0 |
| ab_estimated_ba_last | 0.174 |
| ab_estimated_woba_last | 0.157 |
| ab_estimated_slg_last | 0.199 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 91.18 |
| ab_release_spin_rate_avg | 2691.4 |
| ab_effective_speed_avg | 91.16 |
| ab_launch_speed_avg | 97.55 |
| ab_launch_angle_avg | 31.0 |
| ab_delta_run_exp_avg | -0.052 |
| ab_delta_home_win_exp_avg | 0.0108 |
| ab_delta_pitcher_run_exp_avg | 0.052 |
| ab_bat_speed_avg | 61.3 |
| ab_swing_length_avg | 7.333333333333333 |
| ab_launch_speed_max | 98.7 |
| ab_hit_distance_sc_max | 94.0 |
| ab_release_speed_max | 96.5 |
| ab_release_spin_rate_max | 2925.0 |
| ab_release_speed_min | 87.3 |
| ab_release_spin_rate_min | 2347.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | 0.054 |
| ab_delta_pitcher_run_exp_sum | 0.26 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.210 | 1.000 | 0.000 | Hitting_2B | 0.207 | 0.000 | 0.793 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.750 | 4.000 | 4.000 | Hitting_AB | 3.797 | 4.000 | 0.203 | 0.000 |
| predicted_AVG | 0.276 | 0.500 | 0.250 | Hitting_AVG | 0.281 | 0.000 | 0.219 | 0.500 |
| predicted_BB | 0.400 | 0.000 | 0.000 | Hitting_BB | 0.428 | 0.000 | -0.428 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 1.040 | 2.000 | 1.000 | Hitting_H | 1.066 | 0.000 | 0.934 | 2.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_OBP | 0.382 | 0.500 | 0.250 | Hitting_OBP | 0.358 | 0.000 | 0.142 | 0.500 |
| predicted_R | 0.400 | 1.000 | 0.000 | Hitting_R | 0.433 | 0.000 | 0.567 | 1.000 |
| predicted_RBI | 0.620 | 1.000 | 1.000 | Hitting_RBI | 0.490 | 0.000 | 0.510 | 1.000 |
| predicted_SLG | 0.372 | 0.750 | 0.250 | Hitting_SLG | 0.391 | 0.000 | 0.359 | 0.750 |
| predicted_SO | 0.552 | 0.000 | 1.000 | Hitting_SO | 0.567 | 1.000 | -0.567 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 1.0400 -> 2.0000 (boost 0.9600, better) |
| Biggest Deboost | predicted_SO: 0.5520 -> 0.0000 (deboost -0.5520, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2760 -> 0.2940 (boost 0.0180, better) | predicted_AB: 3.7500 -> 3.6896 (deboost -0.0604, worse) | Final model input calibrated with local 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.3872 -> 0.3652 (deboost -0.0220, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_SO: 0.5129 -> 1.0000 (boost 0.4871, worse) | predicted_BB: 0.4206 -> 0.0000 (deboost -0.4206, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.288 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4147 -> 0.0000 (deboost -0.4147, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3763 -> 0.2500 (deboost -0.1263, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3763 (boost 0.1263, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694384",
"player_name": "Nolan Schanuel",
"position": "1B",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.21,
"predicted_3B": 0.0,
"predicted_AB": 3.75,
"predicted_AVG": 0.276,
"predicted_BB": 0.4,
"predicted_H": 1.04,
"predicted_HR": 0.03,
"predicted_OBP": 0.382,
"predicted_R": 0.4,
"predicted_RBI": 0.62,
"predicted_SLG": 0.372,
"predicted_SO": 0.552
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1988,
"predicted_3B": 0.0004,
"predicted_AB": 3.6896,
"predicted_AVG": 0.294,
"predicted_BB": 0.4233,
"predicted_H": 1.0862,
"predicted_HBP": 0.033,
"predicted_HR": 0.0365,
"predicted_OBP": 0.3872,
"predicted_R": 0.419,
"predicted_RBI": 0.6411,
"predicted_SLG": 0.3868,
"predicted_SO": 0.5097
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.1988,
"delta": -0.0112,
"percent_delta": -0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.6896,
"delta": -0.0604,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.294,
"delta": 0.018,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.4233,
"delta": 0.0233,
"percent_delta": 0.0582,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0862,
"delta": 0.0462,
"percent_delta": 0.0444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0365,
"delta": 0.0065,
"percent_delta": 0.2167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.382,
"after": 0.3872,
"delta": 0.0052,
"percent_delta": 0.0136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.419,
"delta": 0.019,
"percent_delta": 0.0475,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6411,
"delta": 0.0211,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3868,
"delta": 0.0148,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.552,
"after": 0.5097,
"delta": -0.0423,
"percent_delta": -0.0766,
"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.276,
"after": 0.294,
"delta": 0.018,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 3.6896,
"delta": -0.0604,
"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": 105
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1988,
"predicted_3B": 0.0004,
"predicted_AB": 3.6896,
"predicted_AVG": 0.2928,
"predicted_BB": 0.4206,
"predicted_H": 1.0803,
"predicted_HBP": 0.033,
"predicted_HR": 0.0361,
"predicted_OBP": 0.3652,
"predicted_R": 0.4147,
"predicted_RBI": 0.6346,
"predicted_SLG": 0.3763,
"predicted_SO": 0.5129
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1988,
"after": 0.1988,
"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.6896,
"after": 3.6896,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2928,
"delta": -0.0012,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4233,
"after": 0.4206,
"delta": -0.0027,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0862,
"after": 1.0803,
"delta": -0.0059,
"percent_delta": -0.0054,
"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.0365,
"after": 0.0361,
"delta": -0.0004,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3872,
"after": 0.3652,
"delta": -0.022,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.4147,
"delta": -0.0043,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6411,
"after": 0.6346,
"delta": -0.0065,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3868,
"after": 0.3763,
"delta": -0.0105,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5097,
"after": 0.5129,
"delta": 0.0032,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3872,
"after": 0.3652,
"delta": -0.022,
"percent_delta": -0.0568,
"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.288 HR/AB=0.010",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1988,
"after": 0.0,
"delta": -0.1988,
"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.6896,
"after": 4.0,
"delta": 0.3104,
"percent_delta": 0.0841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4206,
"after": 0.0,
"delta": -0.4206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0803,
"after": 1.0,
"delta": -0.0803,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0361,
"after": 0.0,
"delta": -0.0361,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6346,
"after": 1.0,
"delta": 0.3654,
"percent_delta": 0.5758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5129,
"after": 1.0,
"delta": 0.4871,
"percent_delta": 0.9497,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5129,
"after": 1.0,
"delta": 0.4871,
"percent_delta": 0.9497,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4206,
"after": 0.0,
"delta": -0.4206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4147,
"after": 0.0,
"delta": -0.4147,
"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.4147,
"after": 0.0,
"delta": -0.4147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2928,
"after": 0.25,
"delta": -0.0428,
"percent_delta": -0.1462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3652,
"after": 0.25,
"delta": -0.1152,
"percent_delta": -0.3154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.3763,
"after": 0.25,
"delta": -0.1263,
"percent_delta": -0.3356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3763,
"after": 0.25,
"delta": -0.1263,
"percent_delta": -0.3356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2928,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3652,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3763,
"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.2928,
"delta": 0.0428,
"percent_delta": 0.1712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3652,
"delta": 0.1152,
"percent_delta": 0.4607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3763,
"delta": 0.1263,
"percent_delta": 0.5051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3763,
"delta": 0.1263,
"percent_delta": 0.5051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 1.0,
"delta": 0.79,
"percent_delta": 3.7619,
"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.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2928,
"delta": 0.0168,
"percent_delta": 0.0609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"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.382,
"after": 0.3652,
"delta": -0.0168,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3763,
"delta": 0.0043,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.552,
"after": 0.0,
"delta": -0.552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.552,
"after": 0.0,
"delta": -0.552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.382 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.372 | - |
| predicted_SO | 0.552 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.199 | -0.011 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.690 | -0.060 |
| predicted_AVG | 0.294 | 0.018 |
| predicted_BB | 0.423 | 0.023 |
| predicted_H | 1.086 | 0.046 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.036 | 0.006 |
| predicted_OBP | 0.387 | 0.005 |
| predicted_R | 0.419 | 0.019 |
| predicted_RBI | 0.641 | 0.021 |
| predicted_SLG | 0.387 | 0.015 |
| predicted_SO | 0.510 | -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.199 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.690 | 0.000 |
| predicted_AVG | 0.293 | -0.001 |
| predicted_BB | 0.421 | -0.003 |
| predicted_H | 1.080 | -0.006 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.036 | -0.000 |
| predicted_OBP | 0.365 | -0.022 |
| predicted_R | 0.415 | -0.004 |
| predicted_RBI | 0.635 | -0.006 |
| predicted_SLG | 0.376 | -0.010 |
| predicted_SO | 0.513 | 0.003 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.288 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.199 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.310 |
| predicted_AVG | 0.250 | -0.043 |
| predicted_BB | 0.000 | -0.421 |
| predicted_H | 1.000 | -0.080 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.250 | -0.115 |
| predicted_R | 0.000 | -0.415 |
| predicted_RBI | 1.000 | 0.365 |
| predicted_SLG | 0.250 | -0.126 |
| predicted_SO | 1.000 | 0.487 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 8.000 | 1.000 | 0.000 | 0.000 | 6.000 | 3.000 | 2.000 | 1.000 | 0.4444 | 0.5000 | 0.5000 | 0.4444 | 0.0000 | 0.3333 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 1.000 | 0.000 | 0.000 | 8.000 | 4.000 | 7.000 | 3.000 | 0.3333 | 0.4390 | 0.3636 | 0.3333 | 0.0000 | 0.2424 | 0.2121 | 0.0909 |
| season | 0.60 | 105 | - | 388.000 | 108.000 | 22.000 | 0.000 | 7.000 | 48.000 | 42.000 | 42.000 | 58.000 | 0.2784 | 0.3537 | 0.3892 | 0.2783 | 0.0180 | 0.1237 | 0.1082 | 0.1495 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1840 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6100 |
| predicted_AVG | 0.3178 |
| predicted_BB | 0.4540 |
| predicted_H | 1.1470 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.0450 |
| predicted_OBP | 0.3940 |
| predicted_R | 0.4440 |
| predicted_RBI | 0.6690 |
| predicted_SLG | 0.4064 |
| predicted_SO | 0.4540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2100 | 0.1840 | 0.1988 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7500 | 3.6100 | 3.6896 | model_form_blend |
| predicted_AVG | 0.2760 | 0.3178 | 0.2940 | model_form_blend |
| predicted_BB | 0.4000 | 0.4540 | 0.4233 | model_form_blend |
| predicted_H | 1.0400 | 1.1470 | 1.0862 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.0300 | 0.0450 | 0.0365 | model_form_blend |
| predicted_OBP | 0.3820 | 0.3940 | 0.3872 | model_form_blend |
| predicted_R | 0.4000 | 0.4440 | 0.4190 | model_form_blend |
| predicted_RBI | 0.6200 | 0.6690 | 0.6411 | model_form_blend |
| predicted_SLG | 0.3720 | 0.4064 | 0.3868 | model_form_blend |
| predicted_SO | 0.5520 | 0.4540 | 0.5097 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 439 |
| Season rows before report date | 439 |
| Report year | 2026 |
| Profile rows used | 105 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.278 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 694384 |
| playerID | 694384 |
| playerName | Nolan Schanuel |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.331 |
| sl_xwoba | 0.336 |
| sl_xba | 0.287 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 44.4 |
| at_bat_number | 55.0 |
| ab_pitcher | 595345.0 |
| ab_pitcher_name | Okert, Steven |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 672724.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Nolan Schanuel flies out to shortstop Nick Allen. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 65.0 |
| ab_launch_angle_last | 29.0 |
| ab_hit_distance_last | 199.0 |
| ab_estimated_ba_last | 0.914 |
| ab_estimated_woba_last | 0.846 |
| ab_estimated_slg_last | 0.995 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 89.15 |
| ab_release_spin_rate_avg | 2306.5 |
| ab_effective_speed_avg | 88.8 |
| ab_launch_speed_avg | 65.0 |
| ab_launch_angle_avg | 29.0 |
| ab_delta_run_exp_avg | -0.1374999999999999 |
| ab_delta_home_win_exp_avg | 0.023 |
| ab_delta_pitcher_run_exp_avg | 0.1374999999999999 |
| ab_bat_speed_avg | 67.1 |
| ab_swing_length_avg | 7.0 |
| ab_launch_speed_max | 65.0 |
| ab_hit_distance_sc_max | 199.0 |
| ab_release_speed_max | 89.5 |
| ab_release_spin_rate_max | 2353.0 |
| ab_release_speed_min | 88.8 |
| ab_release_spin_rate_min | 2260.0 |
| ab_delta_run_exp_sum | -0.2749999999999999 |
| ab_delta_home_win_exp_sum | 0.046 |
| ab_delta_pitcher_run_exp_sum | 0.2749999999999999 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 0.000 | 0.000 | Hitting_2B | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.150 | 4.000 | 4.000 | Hitting_AB | 3.650 | 3.000 | 0.350 | 1.000 |
| predicted_AVG | 0.240 | 0.250 | 0.250 | Hitting_AVG | 0.245 | 0.333 | 0.005 | -0.083 |
| predicted_BB | 0.769 | 0.000 | 1.000 | Hitting_BB | 0.812 | 0.000 | -0.812 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 0.896 | 1.000 | 0.104 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_OBP | 0.362 | 0.250 | 0.400 | Hitting_OBP | 0.390 | 0.500 | -0.140 | -0.250 |
| predicted_R | 0.639 | 0.000 | 1.000 | Hitting_R | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SLG | 0.398 | 0.250 | 0.250 | Hitting_SLG | 0.453 | 0.333 | -0.203 | -0.083 |
| predicted_SO | 1.139 | 1.000 | 1.000 | Hitting_SO | 1.127 | 1.000 | -0.127 | 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_BB: 0.7690 -> 0.0000 (deboost -0.7690, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_AB: 4.1500 -> 3.9548 (deboost -0.1952, worse) | Final model input calibrated with local 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.3554 -> 0.3470 (deboost -0.0084, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_BB: 0.6781 -> 1.0000 (boost 0.3219, better) | predicted_RBI: 0.3762 -> 0.0000 (deboost -0.3762, worse) | AB rounded to 4 (raw=4.15), rates preserved: AVG=0.224 HR/AB=0.035 |
| 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.5524 -> 1.0000 (boost 0.4476, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3470 -> 0.4000 (boost 0.0530, better) | predicted_SLG: 0.3862 -> 0.2500 (deboost -0.1362, 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_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3862 (boost 0.1362, better) | predicted_OBP: 0.4000 -> 0.3470 (deboost -0.0530, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "545361",
"player_name": "Mike Trout",
"position": "CF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 4.15,
"predicted_AVG": 0.24,
"predicted_BB": 0.769,
"predicted_H": 1.0,
"predicted_HR": 0.16,
"predicted_OBP": 0.362,
"predicted_R": 0.639,
"predicted_RBI": 0.41,
"predicted_SLG": 0.398,
"predicted_SO": 1.139
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1566,
"predicted_3B": 0.0004,
"predicted_AB": 3.9548,
"predicted_AVG": 0.2355,
"predicted_BB": 0.6824,
"predicted_H": 0.9346,
"predicted_HBP": 0.113,
"predicted_HR": 0.1483,
"predicted_OBP": 0.3554,
"predicted_R": 0.5581,
"predicted_RBI": 0.3801,
"predicted_SLG": 0.3902,
"predicted_SO": 1.1338
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1566,
"delta": -0.0004,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 3.9548,
"delta": -0.1952,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2355,
"delta": -0.0045,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.769,
"after": 0.6824,
"delta": -0.0866,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9346,
"delta": -0.0654,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1483,
"delta": -0.0117,
"percent_delta": -0.0731,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3554,
"delta": -0.0066,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.639,
"after": 0.5581,
"delta": -0.0809,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3801,
"delta": -0.0299,
"percent_delta": -0.0729,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3902,
"delta": -0.0078,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.139,
"after": 1.1338,
"delta": -0.0052,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 3.9548,
"delta": -0.1952,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 108
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1566,
"predicted_3B": 0.0004,
"predicted_AB": 3.9548,
"predicted_AVG": 0.235,
"predicted_BB": 0.6781,
"predicted_H": 0.9296,
"predicted_HBP": 0.113,
"predicted_HR": 0.1468,
"predicted_OBP": 0.347,
"predicted_R": 0.5524,
"predicted_RBI": 0.3762,
"predicted_SLG": 0.3862,
"predicted_SO": 1.1409
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1566,
"after": 0.1566,
"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.9548,
"after": 3.9548,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2355,
"after": 0.235,
"delta": -0.0005,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6824,
"after": 0.6781,
"delta": -0.0043,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9346,
"after": 0.9296,
"delta": -0.005,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.113,
"after": 0.113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1483,
"after": 0.1468,
"delta": -0.0015,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3554,
"after": 0.347,
"delta": -0.0084,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5581,
"after": 0.5524,
"delta": -0.0057,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3801,
"after": 0.3762,
"delta": -0.0039,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3902,
"after": 0.3862,
"delta": -0.004,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1338,
"after": 1.1409,
"delta": 0.0071,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3554,
"after": 0.347,
"delta": -0.0084,
"percent_delta": -0.0236,
"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.224 HR/AB=0.035",
"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.1566,
"after": 0.0,
"delta": -0.1566,
"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.9548,
"after": 4.0,
"delta": 0.0452,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6781,
"after": 1.0,
"delta": 0.3219,
"percent_delta": 0.4747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9296,
"after": 1.0,
"delta": 0.0704,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.113,
"after": 0.0,
"delta": -0.113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1468,
"after": 0.0,
"delta": -0.1468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3762,
"after": 0.0,
"delta": -0.3762,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1409,
"after": 1.0,
"delta": -0.1409,
"percent_delta": -0.1235,
"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.6781,
"after": 1.0,
"delta": 0.3219,
"percent_delta": 0.4747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3762,
"after": 0.0,
"delta": -0.3762,
"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": 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.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5524,
"after": 1.0,
"delta": 0.4476,
"percent_delta": 0.8103,
"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.5524,
"after": 1.0,
"delta": 0.4476,
"percent_delta": 0.8103,
"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.235,
"after": 0.25,
"delta": 0.015,
"percent_delta": 0.0638,
"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.347,
"after": 0.4,
"delta": 0.053,
"percent_delta": 0.1527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3862,
"after": 0.25,
"delta": -0.1362,
"percent_delta": -0.3527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.347,
"after": 0.4,
"delta": 0.053,
"percent_delta": 0.1527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3862,
"after": 0.25,
"delta": -0.1362,
"percent_delta": -0.3527,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.235,
"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.347,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3862,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.235,
"delta": -0.015,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.347,
"delta": -0.053,
"percent_delta": -0.1325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3862,
"delta": 0.1362,
"percent_delta": 0.5449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3862,
"delta": 0.1362,
"percent_delta": 0.5449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.347,
"delta": -0.053,
"percent_delta": -0.1325,
"direction": "deboost",
"projection_effect": "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": 4.15,
"after": 4.0,
"delta": -0.15,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.235,
"delta": -0.005,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"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.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.347,
"delta": -0.015,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"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.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.3862,
"delta": -0.0118,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.139,
"after": 1.0,
"delta": -0.139,
"percent_delta": -0.122,
"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_BB",
"before": 0.769,
"after": 0.0,
"delta": -0.769,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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 | 4.150 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.769 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.362 | - |
| predicted_R | 0.639 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 1.139 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | -0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.955 | -0.195 |
| predicted_AVG | 0.235 | -0.005 |
| predicted_BB | 0.682 | -0.087 |
| predicted_H | 0.935 | -0.065 |
| predicted_HBP | 0.113 | - |
| predicted_HR | 0.148 | -0.012 |
| predicted_OBP | 0.355 | -0.007 |
| predicted_R | 0.558 | -0.081 |
| predicted_RBI | 0.380 | -0.030 |
| predicted_SLG | 0.390 | -0.008 |
| predicted_SO | 1.134 | -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.157 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.955 | 0.000 |
| predicted_AVG | 0.235 | -0.001 |
| predicted_BB | 0.678 | -0.004 |
| predicted_H | 0.930 | -0.005 |
| predicted_HBP | 0.113 | 0.000 |
| predicted_HR | 0.147 | -0.001 |
| predicted_OBP | 0.347 | -0.008 |
| predicted_R | 0.552 | -0.006 |
| predicted_RBI | 0.376 | -0.004 |
| predicted_SLG | 0.386 | -0.004 |
| predicted_SO | 1.141 | 0.007 |
AB rounded to 4 (raw=4.15), rates preserved: AVG=0.224 HR/AB=0.035
| 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=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 | 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.157 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.045 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 1.000 | 0.322 |
| predicted_H | 1.000 | 0.070 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.400 | 0.053 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 0.000 | -0.376 |
| predicted_SLG | 0.250 | -0.136 |
| 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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 6.000 | 0.1579 | 0.2381 | 0.2105 | 0.1579 | 0.0000 | 0.0000 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 4.000 | 11.000 | 0.2632 | 0.3636 | 0.3684 | 0.2632 | 0.0263 | 0.1053 | 0.1053 | 0.2895 |
| season | 0.60 | 108 | - | 391.000 | 94.000 | 17.000 | 0.000 | 20.000 | 45.000 | 69.000 | 83.000 | 123.000 | 0.2404 | 0.3817 | 0.4373 | 0.2404 | 0.0512 | 0.1151 | 0.2123 | 0.3146 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1560 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6990 |
| predicted_AVG | 0.2296 |
| predicted_BB | 0.5690 |
| predicted_H | 0.8490 |
| predicted_HBP | 0.1130 |
| predicted_HR | 0.1330 |
| predicted_OBP | 0.3468 |
| predicted_R | 0.4520 |
| predicted_RBI | 0.3410 |
| predicted_SLG | 0.3799 |
| predicted_SO | 1.1270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1560 | 0.1566 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1500 | 3.6990 | 3.9548 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2296 | 0.2355 | model_form_blend |
| predicted_BB | 0.7690 | 0.5690 | 0.6824 | model_form_blend |
| predicted_H | 1.0000 | 0.8490 | 0.9346 | model_form_blend |
| predicted_HBP | - | 0.1130 | 0.1130 | form_only |
| predicted_HR | 0.1600 | 0.1330 | 0.1483 | model_form_blend |
| predicted_OBP | 0.3620 | 0.3468 | 0.3554 | model_form_blend |
| predicted_R | 0.6390 | 0.4520 | 0.5581 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3410 | 0.3801 | model_form_blend |
| predicted_SLG | 0.3980 | 0.3799 | 0.3902 | model_form_blend |
| predicted_SO | 1.1390 | 1.1270 | 1.1338 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 480 |
| Season rows before report date | 480 |
| Report year | 2026 |
| Profile rows used | 108 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 545361 |
| playerID | 545361 |
| playerName | Mike Trout |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 17.2 |
| sl_woba | 0.358 |
| sl_xwoba | 0.382 |
| sl_xba | 0.254 |
| sl_xslg | 0.495 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 15.7 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 40.0 |
| at_bat_number | 54.0 |
| ab_pitcher | 595345.0 |
| ab_pitcher_name | Okert, Steven |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 672724.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Mike Trout called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 89.58 |
| ab_release_spin_rate_avg | 2285.4 |
| ab_effective_speed_avg | 89.08 |
| ab_delta_run_exp_avg | -0.051 |
| ab_delta_home_win_exp_avg | 0.0114 |
| ab_delta_pitcher_run_exp_avg | 0.051 |
| ab_bat_speed_avg | 75.6 |
| ab_swing_length_avg | 7.6 |
| ab_release_speed_max | 90.2 |
| ab_release_spin_rate_max | 2309.0 |
| ab_release_speed_min | 89.0 |
| ab_release_spin_rate_min | 2262.0 |
| ab_delta_run_exp_sum | -0.255 |
| ab_delta_home_win_exp_sum | 0.057 |
| ab_delta_pitcher_run_exp_sum | 0.255 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.153 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.667 | 0.000 | 0.333 | 3.000 |
| predicted_AVG | 0.437 | 0.000 | 0.333 | Hitting_AVG | 0.269 | - | -0.269 | - |
| predicted_BB | 0.204 | 0.000 | 0.000 | Hitting_BB | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.360 | 0.000 | 1.000 | Hitting_H | 0.718 | 0.000 | -0.718 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_OBP | 0.437 | 0.000 | 0.333 | Hitting_OBP | 0.341 | - | -0.341 | - |
| predicted_R | 0.357 | 0.000 | 0.000 | Hitting_R | 0.487 | 0.000 | -0.487 | 0.000 |
| predicted_RBI | 0.090 | 0.000 | 0.000 | Hitting_RBI | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.043 | 1.000 | -0.043 | -1.000 |
| predicted_SLG | 0.385 | 0.000 | 0.333 | Hitting_SLG | 0.394 | - | -0.394 | - |
| predicted_SO | 0.791 | 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 | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.5000 -> 3.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_H: 0.3600 -> 0.0000 (deboost -0.3600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_H: 0.3600 -> 0.5117 (boost 0.1517, better) | predicted_AVG: 0.4370 -> 0.3746 (deboost -0.0624, worse) | Final model input calibrated with local form: 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.3746 -> 0.1965 (deboost -0.1781, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_H: 0.5089 -> 1.0000 (boost 0.4911, better) | predicted_BB: 0.1874 -> 0.0000 (deboost -0.1874, worse) | AB rounded to 3 (raw=2.59), rates preserved: AVG=0.196 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3431 -> 0.0000 (deboost -0.3431, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1965 -> 0.3330 (boost 0.1365, 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.1965 (deboost -0.1365, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624428",
"player_name": "Adam Frazier",
"position": "2B",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.153,
"predicted_3B": 0.026,
"predicted_AB": 2.5,
"predicted_AVG": 0.437,
"predicted_BB": 0.204,
"predicted_H": 0.36,
"predicted_HR": 0.04,
"predicted_OBP": 0.437,
"predicted_R": 0.357,
"predicted_RBI": 0.09,
"predicted_SLG": 0.385,
"predicted_SO": 0.791
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1545,
"predicted_3B": 0.0218,
"predicted_AB": 2.5903,
"predicted_AVG": 0.3746,
"predicted_BB": 0.1886,
"predicted_H": 0.5117,
"predicted_HBP": 0.018,
"predicted_HR": 0.0377,
"predicted_OBP": 0.393,
"predicted_R": 0.3466,
"predicted_RBI": 0.1641,
"predicted_SLG": 0.3837,
"predicted_SO": 0.7601
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.1545,
"delta": 0.0015,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0218,
"delta": -0.0042,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5903,
"delta": 0.0903,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.437,
"after": 0.3746,
"delta": -0.0624,
"percent_delta": -0.1428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.204,
"after": 0.1886,
"delta": -0.0154,
"percent_delta": -0.0755,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.5117,
"delta": 0.1517,
"percent_delta": 0.4214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0377,
"delta": -0.0023,
"percent_delta": -0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.437,
"after": 0.393,
"delta": -0.044,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.3466,
"delta": -0.0104,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.09,
"after": 0.1641,
"delta": 0.0741,
"percent_delta": 0.8233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3837,
"delta": -0.0013,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.791,
"after": 0.7601,
"delta": -0.0309,
"percent_delta": -0.0391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.36,
"after": 0.5117,
"delta": 0.1517,
"percent_delta": 0.4214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.437,
"after": 0.3746,
"delta": -0.0624,
"percent_delta": -0.1428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1545,
"predicted_3B": 0.0218,
"predicted_AB": 2.5903,
"predicted_AVG": 0.1965,
"predicted_BB": 0.1874,
"predicted_H": 0.5089,
"predicted_HBP": 0.018,
"predicted_HR": 0.0373,
"predicted_OBP": 0.2507,
"predicted_R": 0.3431,
"predicted_RBI": 0.1624,
"predicted_SLG": 0.3162,
"predicted_SO": 0.7649
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1545,
"after": 0.1545,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0218,
"after": 0.0218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5903,
"after": 2.5903,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3746,
"after": 0.1965,
"delta": -0.1781,
"percent_delta": -0.4754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1886,
"after": 0.1874,
"delta": -0.0012,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5117,
"after": 0.5089,
"delta": -0.0028,
"percent_delta": -0.0055,
"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.0377,
"after": 0.0373,
"delta": -0.0004,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.393,
"after": 0.2507,
"delta": -0.1423,
"percent_delta": -0.3621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3466,
"after": 0.3431,
"delta": -0.0035,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1641,
"after": 0.1624,
"delta": -0.0017,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3837,
"after": 0.3162,
"delta": -0.0675,
"percent_delta": -0.1759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7601,
"after": 0.7649,
"delta": 0.0048,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3746,
"after": 0.1965,
"delta": -0.1781,
"percent_delta": -0.4754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.59), rates preserved: AVG=0.196 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.1545,
"after": 0.0,
"delta": -0.1545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0218,
"after": 0.0,
"delta": -0.0218,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5903,
"after": 3.0,
"delta": 0.4097,
"percent_delta": 0.1582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1874,
"after": 0.0,
"delta": -0.1874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5089,
"after": 1.0,
"delta": 0.4911,
"percent_delta": 0.965,
"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.0373,
"after": 0.0,
"delta": -0.0373,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1624,
"after": 0.0,
"delta": -0.1624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7649,
"after": 1.0,
"delta": 0.2351,
"percent_delta": 0.3074,
"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.5089,
"after": 1.0,
"delta": 0.4911,
"percent_delta": 0.965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.1874,
"after": 0.0,
"delta": -0.1874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3431,
"after": 0.0,
"delta": -0.3431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3431,
"after": 0.0,
"delta": -0.3431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1965,
"after": 0.333,
"delta": 0.1365,
"percent_delta": 0.6947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2507,
"after": 0.333,
"delta": 0.0823,
"percent_delta": 0.3283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3162,
"after": 0.333,
"delta": 0.0168,
"percent_delta": 0.0531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1965,
"after": 0.333,
"delta": 0.1365,
"percent_delta": 0.6947,
"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.1965,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2507,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3162,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1965,
"delta": -0.1365,
"percent_delta": -0.41,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2507,
"delta": -0.0823,
"percent_delta": -0.2472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3162,
"delta": -0.0168,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1965,
"delta": -0.1365,
"percent_delta": -0.41,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.437,
"after": 0.1965,
"delta": -0.2405,
"percent_delta": -0.5503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.204,
"after": 0.0,
"delta": -0.204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.437,
"after": 0.2507,
"delta": -0.1863,
"percent_delta": -0.4263,
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3162,
"delta": -0.0688,
"percent_delta": -0.1787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.791,
"after": 1.0,
"delta": 0.209,
"percent_delta": 0.2642,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.437 | - |
| predicted_BB | 0.204 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.437 | - |
| predicted_R | 0.357 | - |
| predicted_RBI | 0.090 | - |
| predicted_SLG | 0.385 | - |
| predicted_SO | 0.791 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.002 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 2.590 | 0.090 |
| predicted_AVG | 0.375 | -0.062 |
| predicted_BB | 0.189 | -0.015 |
| predicted_H | 0.512 | 0.152 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.038 | -0.002 |
| predicted_OBP | 0.393 | -0.044 |
| predicted_R | 0.347 | -0.010 |
| predicted_RBI | 0.164 | 0.074 |
| predicted_SLG | 0.384 | -0.001 |
| predicted_SO | 0.760 | -0.031 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 2.590 | 0.000 |
| predicted_AVG | 0.197 | -0.178 |
| predicted_BB | 0.187 | -0.001 |
| predicted_H | 0.509 | -0.003 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.037 | -0.000 |
| predicted_OBP | 0.251 | -0.142 |
| predicted_R | 0.343 | -0.004 |
| predicted_RBI | 0.162 | -0.002 |
| predicted_SLG | 0.316 | -0.068 |
| predicted_SO | 0.765 | 0.005 |
AB rounded to 3 (raw=2.59), rates preserved: AVG=0.196 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.154 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | 0.410 |
| predicted_AVG | 0.333 | 0.137 |
| predicted_BB | 0.000 | -0.187 |
| predicted_H | 1.000 | 0.491 |
| predicted_HR | 0.000 | -0.037 |
| predicted_OBP | 0.333 | 0.082 |
| predicted_R | 0.000 | -0.343 |
| predicted_RBI | 0.000 | -0.162 |
| predicted_SLG | 0.333 | 0.017 |
| predicted_SO | 1.000 | 0.235 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 2.000 | 0.4615 | 0.4615 | 0.5385 | 0.4615 | 0.0000 | 0.1538 | 0.0000 | 0.1538 |
| last_10 | 0.20 | 10 | - | 24.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 6.000 | 0.2500 | 0.2800 | 0.2917 | 0.2500 | 0.0000 | 0.0833 | 0.0417 | 0.2500 |
| season | 0.60 | 41 | - | 98.000 | 23.000 | 6.000 | 1.000 | 1.000 | 8.000 | 14.000 | 8.000 | 31.000 | 0.2347 | 0.2991 | 0.3469 | 0.2347 | 0.0102 | 0.0816 | 0.0816 | 0.3163 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.7340 |
| predicted_AVG | 0.2754 |
| predicted_BB | 0.1640 |
| predicted_H | 0.7530 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.3229 |
| predicted_R | 0.3300 |
| predicted_RBI | 0.2820 |
| predicted_SLG | 0.3816 |
| predicted_SO | 0.7110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1530 | 0.1570 | 0.1545 | model_form_blend |
| predicted_3B | 0.0260 | 0.0150 | 0.0218 | model_form_blend |
| predicted_AB | 2.5000 | 2.7340 | 2.5903 | model_form_blend |
| predicted_AVG | 0.4370 | 0.2754 | 0.3746 | model_form_blend |
| predicted_BB | 0.2040 | 0.1640 | 0.1886 | model_form_blend |
| predicted_H | 0.3600 | 0.7530 | 0.5117 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0400 | 0.0340 | 0.0377 | model_form_blend |
| predicted_OBP | 0.4370 | 0.3229 | 0.3930 | model_form_blend |
| predicted_R | 0.3570 | 0.3300 | 0.3466 | model_form_blend |
| predicted_RBI | 0.0900 | 0.2820 | 0.1641 | model_form_blend |
| predicted_SLG | 0.3850 | 0.3816 | 0.3837 | model_form_blend |
| predicted_SO | 0.7910 | 0.7110 | 0.7601 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 117 |
| Season rows before report date | 117 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.235 |
| 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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | 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 | PR |
| gameID | 20260819_LAA@HOU |
| game_type | ph |
| mlbID | 624428 |
| note | Ran for d'Arnaud in the 9th. |
| playerID | 624428 |
| playerName | Adam Frazier |
| pos | 2B |
| started | False |
| startingPosition | PR |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-19 |
| sl_k_percent | 28.2 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.292 |
| sl_xwoba | 0.242 |
| sl_xba | 0.194 |
| sl_xslg | 0.257 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 15.9 |
| sl_exit_velocity_avg | 84.9 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 53.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.040 | 0.000 | 0.000 | Hitting_2B | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_AB | 2.660 | 3.000 | 3.000 | Hitting_AB | 2.652 | 3.000 | 0.348 | 0.000 |
| predicted_AVG | 0.204 | 0.000 | 0.333 | Hitting_AVG | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_BB | 0.100 | 0.000 | 0.000 | Hitting_BB | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.420 | 0.000 | 1.000 | Hitting_H | 0.638 | 0.000 | -0.638 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.229 | 0.000 | 0.333 | Hitting_OBP | 0.298 | 0.000 | -0.298 | 0.000 |
| predicted_R | 0.220 | 0.000 | 0.000 | Hitting_R | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_SLG | 0.229 | 0.000 | 0.333 | Hitting_SLG | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_SO | 0.480 | 0.000 | 1.000 | Hitting_SO | 0.232 | 1.000 | -0.232 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.6600 -> 3.0000 (boost 0.3400, better) |
| Biggest Deboost | predicted_SO: 0.4800 -> 0.0000 (deboost -0.4800, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2290 -> 0.2378 (boost 0.0088, 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.2378 -> 0.2457 (boost 0.0079, better) | predicted_OBP: 0.2371 -> 0.2005 (deboost -0.0366, 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_SO: 0.4558 -> 1.0000 (boost 0.5442, worse) | predicted_RBI: 0.1572 -> 0.0000 (deboost -0.1572, worse) | AB rounded to 3 (raw=2.69), rates preserved: AVG=0.173 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2474 -> 0.0000 (deboost -0.2474, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1729 -> 0.3330 (boost 0.1601, 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.1729 (deboost -0.1601, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "623168",
"player_name": "Tyler Heineman",
"position": "C",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.04,
"predicted_3B": 0.02,
"predicted_AB": 2.66,
"predicted_AVG": 0.204,
"predicted_BB": 0.1,
"predicted_H": 0.42,
"predicted_HR": 0.05,
"predicted_OBP": 0.229,
"predicted_R": 0.22,
"predicted_RBI": 0.17,
"predicted_SLG": 0.229,
"predicted_SO": 0.48
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0412,
"predicted_3B": 0.0168,
"predicted_AB": 2.6919,
"predicted_AVG": 0.2012,
"predicted_BB": 0.0936,
"predicted_H": 0.4679,
"predicted_HBP": 0.105,
"predicted_HR": 0.0408,
"predicted_OBP": 0.2371,
"predicted_R": 0.2499,
"predicted_RBI": 0.1588,
"predicted_SLG": 0.2378,
"predicted_SO": 0.4529
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.04,
"after": 0.0412,
"delta": 0.0012,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0168,
"delta": -0.0032,
"percent_delta": -0.16,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.66,
"after": 2.6919,
"delta": 0.0319,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.2012,
"delta": -0.0028,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1,
"after": 0.0936,
"delta": -0.0064,
"percent_delta": -0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.42,
"after": 0.4679,
"delta": 0.0479,
"percent_delta": 0.114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0408,
"delta": -0.0092,
"percent_delta": -0.184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.229,
"after": 0.2371,
"delta": 0.0081,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.22,
"after": 0.2499,
"delta": 0.0299,
"percent_delta": 0.1359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.1588,
"delta": -0.0112,
"percent_delta": -0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.229,
"after": 0.2378,
"delta": 0.0088,
"percent_delta": 0.0384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.48,
"after": 0.4529,
"delta": -0.0271,
"percent_delta": -0.0565,
"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.229,
"after": 0.2378,
"delta": 0.0088,
"percent_delta": 0.0384,
"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": 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.0412,
"predicted_3B": 0.0168,
"predicted_AB": 2.6919,
"predicted_AVG": 0.1729,
"predicted_BB": 0.093,
"predicted_H": 0.4654,
"predicted_HBP": 0.105,
"predicted_HR": 0.0404,
"predicted_OBP": 0.2005,
"predicted_R": 0.2474,
"predicted_RBI": 0.1572,
"predicted_SLG": 0.2457,
"predicted_SO": 0.4558
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0412,
"after": 0.0412,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0168,
"after": 0.0168,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6919,
"after": 2.6919,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2012,
"after": 0.1729,
"delta": -0.0283,
"percent_delta": -0.1407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0936,
"after": 0.093,
"delta": -0.0006,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4679,
"after": 0.4654,
"delta": -0.0025,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.105,
"after": 0.105,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0408,
"after": 0.0404,
"delta": -0.0004,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2371,
"after": 0.2005,
"delta": -0.0366,
"percent_delta": -0.1544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2499,
"after": 0.2474,
"delta": -0.0025,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1588,
"after": 0.1572,
"delta": -0.0016,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2378,
"after": 0.2457,
"delta": 0.0079,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4529,
"after": 0.4558,
"delta": 0.0029,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2378,
"after": 0.2457,
"delta": 0.0079,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2371,
"after": 0.2005,
"delta": -0.0366,
"percent_delta": -0.1544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.69), rates preserved: AVG=0.173 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.0412,
"after": 0.0,
"delta": -0.0412,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0168,
"after": 0.0,
"delta": -0.0168,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6919,
"after": 3.0,
"delta": 0.3081,
"percent_delta": 0.1145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4654,
"after": 1.0,
"delta": 0.5346,
"percent_delta": 1.1487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0404,
"after": 0.0,
"delta": -0.0404,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1572,
"after": 0.0,
"delta": -0.1572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4558,
"after": 1.0,
"delta": 0.5442,
"percent_delta": 1.1939,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.4558,
"after": 1.0,
"delta": 0.5442,
"percent_delta": 1.1939,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.1572,
"after": 0.0,
"delta": -0.1572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2474,
"after": 0.0,
"delta": -0.2474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2474,
"after": 0.0,
"delta": -0.2474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1729,
"after": 0.333,
"delta": 0.1601,
"percent_delta": 0.926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2005,
"after": 0.333,
"delta": 0.1325,
"percent_delta": 0.6608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2457,
"after": 0.333,
"delta": 0.0873,
"percent_delta": 0.3553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1729,
"after": 0.333,
"delta": 0.1601,
"percent_delta": 0.926,
"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.1729,
"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.2005,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2457,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1729,
"delta": -0.1601,
"percent_delta": -0.4808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2005,
"delta": -0.1325,
"percent_delta": -0.3979,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2457,
"delta": -0.0873,
"percent_delta": -0.2622,
"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.1729,
"delta": -0.1601,
"percent_delta": -0.4808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.66,
"after": 3.0,
"delta": 0.34,
"percent_delta": 0.1278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.1729,
"delta": -0.0311,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"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.229,
"after": 0.2005,
"delta": -0.0285,
"percent_delta": -0.1245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"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.229,
"after": 0.2457,
"delta": 0.0167,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.66,
"after": 3.0,
"delta": 0.34,
"percent_delta": 0.1278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"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.040 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 2.660 | - |
| predicted_AVG | 0.204 | - |
| predicted_BB | 0.100 | - |
| predicted_H | 0.420 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.229 | - |
| predicted_R | 0.220 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.229 | - |
| predicted_SO | 0.480 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.041 | 0.001 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 2.692 | 0.032 |
| predicted_AVG | 0.201 | -0.003 |
| predicted_BB | 0.094 | -0.006 |
| predicted_H | 0.468 | 0.048 |
| predicted_HBP | 0.105 | - |
| predicted_HR | 0.041 | -0.009 |
| predicted_OBP | 0.237 | 0.008 |
| predicted_R | 0.250 | 0.030 |
| predicted_RBI | 0.159 | -0.011 |
| predicted_SLG | 0.238 | 0.009 |
| predicted_SO | 0.453 | -0.027 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.041 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 2.692 | 0.000 |
| predicted_AVG | 0.173 | -0.028 |
| predicted_BB | 0.093 | -0.001 |
| predicted_H | 0.465 | -0.003 |
| predicted_HBP | 0.105 | 0.000 |
| predicted_HR | 0.040 | -0.000 |
| predicted_OBP | 0.201 | -0.037 |
| predicted_R | 0.247 | -0.003 |
| predicted_RBI | 0.157 | -0.002 |
| predicted_SLG | 0.246 | 0.008 |
| predicted_SO | 0.456 | 0.003 |
AB rounded to 3 (raw=2.69), rates preserved: AVG=0.173 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.041 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 3.000 | 0.308 |
| predicted_AVG | 0.333 | 0.160 |
| predicted_BB | 0.000 | -0.093 |
| predicted_H | 1.000 | 0.535 |
| predicted_HR | 0.000 | -0.040 |
| predicted_OBP | 0.333 | 0.133 |
| predicted_R | 0.000 | -0.247 |
| predicted_RBI | 0.000 | -0.157 |
| predicted_SLG | 0.333 | 0.087 |
| 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 | 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 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 0.1818 | 0.2500 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.0909 |
| last_10 | 0.20 | 10 | - | 24.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 0.2083 | 0.2400 | 0.2083 | 0.2083 | 0.0000 | 0.0000 | 0.0000 | 0.0417 |
| season | 0.60 | 50 | - | 133.000 | 24.000 | 2.000 | 1.000 | 1.000 | 8.000 | 11.000 | 5.000 | 24.000 | 0.1805 | 0.2324 | 0.2331 | 0.1804 | 0.0075 | 0.0602 | 0.0376 | 0.1804 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0430 |
| predicted_3B | 0.0120 |
| predicted_AB | 2.7400 |
| predicted_AVG | 0.1971 |
| predicted_BB | 0.0840 |
| predicted_H | 0.5400 |
| predicted_HBP | 0.1050 |
| predicted_HR | 0.0270 |
| predicted_OBP | 0.2493 |
| predicted_R | 0.2950 |
| predicted_RBI | 0.1420 |
| predicted_SLG | 0.2511 |
| predicted_SO | 0.4120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0400 | 0.0430 | 0.0412 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0168 | model_form_blend |
| predicted_AB | 2.6600 | 2.7400 | 2.6919 | model_form_blend |
| predicted_AVG | 0.2040 | 0.1971 | 0.2012 | model_form_blend |
| predicted_BB | 0.1000 | 0.0840 | 0.0936 | model_form_blend |
| predicted_H | 0.4200 | 0.5400 | 0.4679 | model_form_blend |
| predicted_HBP | - | 0.1050 | 0.1050 | form_only |
| predicted_HR | 0.0500 | 0.0270 | 0.0408 | model_form_blend |
| predicted_OBP | 0.2290 | 0.2493 | 0.2371 | model_form_blend |
| predicted_R | 0.2200 | 0.2950 | 0.2499 | model_form_blend |
| predicted_RBI | 0.1700 | 0.1420 | 0.1588 | model_form_blend |
| predicted_SLG | 0.2290 | 0.2511 | 0.2378 | model_form_blend |
| predicted_SO | 0.4800 | 0.4120 | 0.4529 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 69 |
| Season rows before report date | 69 |
| Report year | 2026 |
| Profile rows used | 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 | 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.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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260818_LAA@HOU |
| game_type | full |
| mlbID | 623168 |
| playerID | 623168 |
| playerName | Tyler Heineman |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-18 |
| game_pk | 824154.0 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 3.3 |
| sl_woba | 0.214 |
| sl_xwoba | 0.249 |
| sl_xba | 0.226 |
| sl_xslg | 0.273 |
| sl_sweet_spot_percent | 24.8 |
| sl_barrel_batted_rate | 0.9 |
| sl_hard_hit_percent | 12.8 |
| sl_exit_velocity_avg | 81.5 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 55.3 |
| at_bat_number | 48.0 |
| ab_pitcher | 805123.0 |
| ab_pitcher_name | Blubaugh, AJ |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Tyler Heineman flies out to right fielder Cam Smith. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 84.4 |
| ab_launch_angle_last | 39.0 |
| ab_hit_distance_last | 289.0 |
| ab_estimated_ba_last | 0.009 |
| ab_estimated_woba_last | 0.008 |
| ab_estimated_slg_last | 0.014 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 89.375 |
| ab_release_spin_rate_avg | 2457.5 |
| ab_effective_speed_avg | 89.55 |
| ab_launch_speed_avg | 84.4 |
| ab_launch_angle_avg | 39.0 |
| ab_delta_run_exp_avg | -0.06475 |
| ab_delta_home_win_exp_avg | 0.00225 |
| ab_delta_pitcher_run_exp_avg | 0.06475 |
| ab_bat_speed_avg | 69.15 |
| ab_swing_length_avg | 7.449999999999999 |
| ab_launch_speed_max | 84.4 |
| ab_hit_distance_sc_max | 289.0 |
| ab_release_speed_max | 94.9 |
| ab_release_spin_rate_max | 2631.0 |
| ab_release_speed_min | 84.0 |
| ab_release_spin_rate_min | 2276.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | 0.009 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 2.154 | 2.000 | -1.154 | -1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 3.615 | 3.000 | 0.385 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.077 | 3.000 | 0.923 | 3.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.377 | 4.000 | -0.177 | 0.200 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 4.231 | 5.000 | -0.231 | -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: 3.0000 -> 4.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SO: 3.0000 -> 4.0000 (boost 1.0000, better) | 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": "680570",
"player_name": "Grayson Rodriguez",
"position": "Starter",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.6667,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 4.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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 | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 24.000 | 15.000 | 21.000 | 11.000 | 28.000 | 5.000 | 5.6250 | 1.3333 | 0.6250 | 0.8750 | 0.4583 | 1.1667 | 0.2083 |
| last_10 | 0.35 | 10 | 44.200 | 35.000 | 50.000 | 20.000 | 41.000 | 8.000 | 7.0522 | 1.5672 | 0.7836 | 1.1194 | 0.4478 | 0.9179 | 0.1791 |
| season | 0.20 | 13 | 59.000 | 47.000 | 66.000 | 28.000 | 55.000 | 10.000 | 7.1695 | 1.5932 | 0.7966 | 1.1186 | 0.4746 | 0.9322 | 0.1695 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9810 |
| predicted_ER | 3.0020 |
| predicted_ERA | 5.8968 |
| predicted_H | 4.5780 |
| predicted_HR | 0.8170 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.6320 |
| predicted_WHIP | 1.4313 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.9810 | 1.5225 | model_form_blend |
| predicted_ER | 4.0000 | 3.0020 | 3.4684 | model_form_blend |
| predicted_ERA | - | 5.8968 | 5.8968 | form_only |
| predicted_H | 6.0000 | 4.5780 | 5.2426 | model_form_blend |
| predicted_HR | 0.0000 | 0.8170 | 0.4352 | model_form_blend |
| predicted_IP | 4.2000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 3.0000 | 4.6320 | 3.8693 | model_form_blend |
| predicted_WHIP | - | 1.4313 | 1.4313 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 4.2 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 1 |
| SO | 4 |
| HR | 0 |
| BF | 21 |
| Pitches | 84 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 17 |
| Pitching_ER | 3 |
| Pitching_ERA | 7.17 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 6 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 89 |
| Pitching_R | 3 |
| Pitching_SO | 5 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260814_KC@LAA |
| game_type | full |
| mlbID | 680570 |
| playerID | 680570 |
| playerName | Grayson Rodriguez |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-14 |
| game_pk | 823993.0 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.374 |
| sl_xwoba | 0.379 |
| sl_sweet_spot_percent | 40.4 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 48.6 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 48.3 |
| sv_pitch_count | 89.0 |
| sv_outs_recorded_est | 12.0 |
| sv_release_speed | 89.96741573033708 |
| sv_release_spin_rate | 2097.5280898876404 |
| sv_effective_speed | 90.97865168539326 |
| sv_launch_speed | 83.13333333333333 |
| sv_launch_angle | 22.296296296296298 |
| sv_woba_value | 5.2 |
| sv_woba_denom | 17.0 |
| sv_delta_run_exp | -0.1229999999999998 |
| sv_delta_home_win_exp | -0.099 |
| sl_avg_best_speed | 80.113467826 |
| sl_avg_hyper_speed | 95.459503333 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.565 | 0.000 | -0.565 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.022 | 1.000 | 0.078 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.826 | 2.000 | -0.826 | -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": "696519",
"player_name": "Samy Natera Jr.",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 1.000 | 4.000 | 1.000 | 12.000 | 0.000 | 1.3500 | 0.7500 | 0.1500 | 0.6000 | 0.1500 | 1.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 1.000 | 5.000 | 2.000 | 20.000 | 0.000 | 0.7714 | 0.6000 | 0.0857 | 0.4286 | 0.1714 | 1.7143 | 0.0000 |
| season | 0.20 | 22 | 27.000 | 6.000 | 13.000 | 9.000 | 42.000 | 1.000 | 2.0000 | 0.8148 | 0.2222 | 0.4815 | 0.3333 | 1.5556 | 0.0370 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3690 |
| predicted_ER | 0.4190 |
| predicted_ERA | 2.8254 |
| predicted_H | 0.9800 |
| predicted_HR | 0.0990 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.8040 |
| predicted_WHIP | 1.0117 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3690 | 0.1650 | model_form_blend |
| predicted_ER | 0.0000 | 0.4190 | 0.1874 | model_form_blend |
| predicted_ERA | - | 2.8254 | 2.8254 | form_only |
| predicted_H | 0.0000 | 0.9800 | 0.4382 | model_form_blend |
| predicted_HR | 0.0000 | 0.0990 | 0.0443 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.8040 | 1.3595 | model_form_blend |
| predicted_WHIP | - | 1.0117 | 1.0117 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.00 |
| Pitching_Flyouts | 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 | 11 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260811_TEX@LAA |
| game_type | full |
| mlbID | 696519 |
| playerID | 696519 |
| playerName | Samy Natera Jr. |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-11 |
| game_pk | 823997.0 |
| sl_k_percent | 40.4 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.214 |
| sl_xwoba | 0.219 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 31.4 |
| sl_whiff_percent | 37.3 |
| sl_swing_percent | 47.6 |
| sv_pitch_count | 11.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 94.33636363636364 |
| sv_release_spin_rate | 2273.454545454545 |
| sv_effective_speed | 94.5909090909091 |
| sv_launch_speed | 83.85 |
| sv_launch_angle | 36.0 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.782 |
| sv_delta_home_win_exp | 0.1649999999999999 |
| sl_avg_best_speed | 77.762272308 |
| sl_avg_hyper_speed | 92.940865882 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 1.000 | 1.000 | 1.000 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.333 | 2.000 | -0.333 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 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": "690829",
"player_name": "Ben Joyce",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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 | 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 | 0.000 | 7.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.2000 | 0.0000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 6 | 6.000 | 0.000 | 1.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.3333 | 0.0000 | 0.1667 | 0.1667 | 1.3333 | 0.0000 |
| season | 0.20 | 6 | 6.000 | 0.000 | 1.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.3333 | 0.0000 | 0.1667 | 0.1667 | 1.3333 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2990 |
| predicted_ER | 0.4030 |
| predicted_ERA | 3.6288 |
| predicted_H | 0.8220 |
| predicted_HR | 0.1190 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0390 |
| predicted_WHIP | 1.1208 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2990 | 0.0925 | model_form_blend |
| predicted_ER | 0.0000 | 0.4030 | 0.1247 | model_form_blend |
| predicted_ERA | - | 3.6288 | 3.6288 | form_only |
| predicted_H | 1.0000 | 0.8220 | 0.9449 | model_form_blend |
| predicted_HR | 0.0000 | 0.1190 | 0.0368 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0390 | 1.0121 | model_form_blend |
| predicted_WHIP | - | 1.1208 | 1.1208 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 7 |
| Pitches | 10 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| 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 | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260818_LAA@HOU |
| game_type | full |
| mlbID | 690829 |
| playerID | 690829 |
| playerName | Ben Joyce |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-18 |
| game_pk | 824154.0 |
| sl_k_percent | 42.1 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.084 |
| sl_xwoba | 0.122 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 20.0 |
| sl_whiff_percent | 36.8 |
| sl_swing_percent | 46.3 |
| sv_pitch_count | 11.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 100.39090909090908 |
| sv_release_spin_rate | 2301.0 |
| sv_effective_speed | 101.1181818181818 |
| sv_launch_speed | 79.4 |
| sv_launch_angle | 54.25 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.78 |
| sv_delta_home_win_exp | -0.095 |
| sl_avg_best_speed | 63.615964 |
| sl_avg_hyper_speed | 91.522512 |
| 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.513 | 0.000 | -0.513 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.385 | 1.000 | -0.385 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.872 | 2.000 | 0.128 | -1.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.913 | 0.100 | -0.913 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.256 | 0.000 | -1.256 | 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": "820862",
"player_name": "José Fermin",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 7.000 | 1.000 | 4.000 | 1.000 | 4.1538 | 1.8462 | 0.4615 | 1.6154 | 0.2308 | 0.9231 | 0.2308 |
| last_10 | 0.35 | 10 | 10.000 | 5.000 | 13.000 | 3.000 | 15.000 | 3.000 | 4.5000 | 1.6000 | 0.5000 | 1.3000 | 0.3000 | 1.5000 | 0.3000 |
| season | 0.20 | 39 | 41.200 | 15.000 | 34.000 | 20.000 | 49.000 | 6.000 | 3.2400 | 1.2960 | 0.3600 | 0.8160 | 0.4800 | 1.1760 | 0.1440 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2460 |
| predicted_ER | 0.3540 |
| predicted_ERA | 4.2455 |
| predicted_H | 0.9050 |
| predicted_HR | 0.1530 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8200 |
| predicted_WHIP | 1.5332 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2460 | 0.1210 | model_form_blend |
| predicted_ER | 0.0000 | 0.3540 | 0.1741 | model_form_blend |
| predicted_ERA | - | 4.2455 | 4.2455 | form_only |
| predicted_H | 1.0000 | 0.9050 | 0.9533 | model_form_blend |
| predicted_HR | 0.0000 | 0.1530 | 0.0752 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8200 | 0.9115 | model_form_blend |
| predicted_WHIP | - | 1.5332 | 1.5332 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 1 |
| 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 | 1 |
| Pitching_ERA | 3.24 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 10 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260818_LAA@HOU |
| game_type | full |
| mlbID | 820862 |
| playerID | 820862 |
| playerName | José Fermin |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-18 |
| game_pk | 824154.0 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.311 |
| sl_xwoba | 0.322 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 42.6 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 49.1 |
| sv_pitch_count | 10.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 91.65 |
| sv_release_spin_rate | 2484.2 |
| sv_effective_speed | 90.99 |
| sv_launch_speed | 85.68333333333334 |
| sv_launch_angle | 36.833333333333336 |
| sv_woba_value | 2.9 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | 1.213 |
| sv_delta_home_win_exp | 0.091 |
| sl_avg_best_speed | 81.649797963 |
| sl_avg_hyper_speed | 94.468370841 |
| Field | Value |
|---|---|
| Pitcher | Peter Lambert |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3075 |
| ESPN Rank | 14 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0315 |
| Avg Velo | 89.3513 |
| Avg Spin | 2218.0155 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 3.1096 |
| Season WHIP | 1.1545 |
| Role Avg IP | 5.6510 |
| Recent Avg IP | 5.3330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 135,
"wins": 67,
"losses": 68,
"win_pct": 0.4963,
"runs_scored": 611.0,
"runs_allowed": 642.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2296,
"avg_runs_scored": 4.5259,
"avg_runs_allowed": 4.7556,
"offense_index": 1.0073,
"defense_index": 0.9449,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.3,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0662
},
"opponent": {
"team": "LAA",
"games": 134,
"wins": 55,
"losses": 79,
"win_pct": 0.4104,
"runs_scored": 546.0,
"runs_allowed": 630.0,
"run_differential": -84.0,
"run_differential_per_game": -0.6269,
"avg_runs_scored": 4.0746,
"avg_runs_allowed": 4.7015,
"offense_index": 0.9068,
"defense_index": 0.9557,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 3.4,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.1529
},
"edges": {
"quality_edge": 0.0867,
"offense_edge": 0.0073,
"opponent_offense_edge": -0.0932,
"defense_strength": -0.0551,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0055,
"run_prevention": 0.9863,
"strikeout": 1.0101
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663567",
"profile": {
"available": true,
"pitcher_id": "663567",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 472.0,
"k_percent": 23.7,
"bb_percent": 9.3,
"woba": 0.282,
"xwoba": 0.284,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 36.3,
"avg_best_speed": 78.5243,
"avg_hyper_speed": 93.5957,
"whiff_percent": 25.6,
"swing_percent": 48.4
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.516,
"command_and_miss": 0.1029,
"regression_edge": -0.0571,
"xwoba_edge": 0.8,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.1857,
"whiff_edge": 0.0429,
"bb_edge": -0.075,
"pitch_design_score": -0.0315
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663567",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.3513060152988,
"release_spin_rate": 2218.0155307207833,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.3513060152988,
"release_spin_rate": 2218.0155307207833,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.3513,
"release_spin_rate": 2218.0155,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0315,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2247,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3075,
"sample_weight": 1.0,
"run_prevention_factor": 0.9739,
"strikeout_factor": 1.0109,
"walk_factor": 1.006,
"homer_factor": 0.9579,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663567",
"espn_id": 39898,
"player_name": "Peter Lambert",
"team": "HOU",
"role": "pitcher",
"espn_rank": 14,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 14,
"gp_value": 21.0,
"gp_rank": 340,
"gs_value": 21.0,
"gs_rank": 75,
"qs_value": 8.0,
"qs_rank": 65,
"era_value": 3.1095,
"era_rank": null,
"w_value": 8.0,
"w_rank": 43,
"l_value": 6.0,
"l_rank": 92,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 118.2,
"ip_rank": 75,
"h_value": 91.0,
"h_rank": 105,
"er_value": 41.0,
"er_rank": 123,
"hr_value": 12.0,
"hr_rank": 111,
"bb_value": 46.0,
"bb_rank": 31,
"k_value": 117.0,
"k_rank": 50,
"k_per_9_value": 8.873595,
"k_per_9_rank": 18.0,
"whip_value": 1.1544,
"whip_rank": null,
"war_value": 3.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9739,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9739,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.006,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9579,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0109,
"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.2,
"ER": 18,
"H": 45,
"BB": 21,
"SO": 59,
"HR": 6,
"ERA": 2.9634146341463414,
"WHIP": 1.2073170731707317,
"K9": 9.713414634146343,
"HR9": 0.9878048780487805,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-14T00:00:00"
}{
"available": true,
"pitcher_id": "663567",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.3513060152988,
"release_spin_rate": 2218.0155307207833,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 89.3513060152988,
"release_spin_rate": 2218.0155307207833,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.3513,
"release_spin_rate": 2218.0155,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0315,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2247,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"role": "pitcher",
"player_id": "663567",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.2,
"ER": 10.0,
"R": 11.0,
"H": 25.0,
"BB": 10.0,
"SO": 26.0,
"HR": 1.0,
"BF": 115.0,
"Pitches": 455.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.2,
"H": 5.0,
"BB": 2.0,
"SO": 5.2,
"HR": 0.2,
"BF": 23.0,
"Pitches": 91.0
},
"rates": {
"ERA": 3.375,
"WHIP": 1.3125,
"ER_per_IP": 0.375,
"H_per_IP": 0.9375,
"BB_per_IP": 0.375,
"SO_per_IP": 0.975,
"HR_per_IP": 0.0375
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.2,
"ER": 18.0,
"R": 19.0,
"H": 45.0,
"BB": 21.0,
"SO": 59.0,
"HR": 6.0,
"BF": 232.0,
"Pitches": 948.0
},
"per_game": {
"IP": 5.1,
"ER": 1.8,
"R": 1.9,
"H": 4.5,
"BB": 2.1,
"SO": 5.9,
"HR": 0.6,
"BF": 23.2,
"Pitches": 94.8
},
"rates": {
"ERA": 2.9634,
"WHIP": 1.2073,
"ER_per_IP": 0.32927,
"H_per_IP": 0.82317,
"BB_per_IP": 0.38415,
"SO_per_IP": 1.07927,
"HR_per_IP": 0.10976
}
},
"season": {
"games": 21,
"totals": {
"IP": 118.2,
"ER": 41.0,
"R": 42.0,
"H": 91.0,
"BB": 46.0,
"SO": 117.0,
"HR": 12.0,
"BF": 494.0,
"Pitches": 1985.0
},
"per_game": {
"IP": 5.2,
"ER": 1.9524,
"R": 2.0,
"H": 4.3333,
"BB": 2.1905,
"SO": 5.5714,
"HR": 0.5714,
"BF": 23.5238,
"Pitches": 94.5238
},
"rates": {
"ERA": 3.1096,
"WHIP": 1.1545,
"ER_per_IP": 0.34551,
"H_per_IP": 0.76685,
"BB_per_IP": 0.38764,
"SO_per_IP": 0.98596,
"HR_per_IP": 0.10112
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.079,
"predicted_H": 4.821,
"predicted_BB": 2.06,
"predicted_SO": 5.463,
"predicted_HR": 0.487,
"predicted_ERA": 3.4324,
"predicted_WHIP": 1.2621
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4312,
"form_weight": 0.5688,
"form_reliability": 0.8077,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.079,
"final": 2.4762,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.821,
"final": 4.8982,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.06,
"final": 1.1716,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.463,
"final": 5.6946,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.487,
"final": 0.7082,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4324,
"final": 3.4324,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2621,
"final": 1.2621,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.0709 |
| ESPN Rank | 244 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0592 |
| Avg Velo | 90.9709 |
| Avg Spin | 2504.1312 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.3043 |
| Season WHIP | 1.3696 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 135,
"wins": 67,
"losses": 68,
"win_pct": 0.4963,
"runs_scored": 611.0,
"runs_allowed": 642.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2296,
"avg_runs_scored": 4.5259,
"avg_runs_allowed": 4.7556,
"offense_index": 1.0073,
"defense_index": 0.9449,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.3,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0662
},
"opponent": {
"team": "LAA",
"games": 134,
"wins": 55,
"losses": 79,
"win_pct": 0.4104,
"runs_scored": 546.0,
"runs_allowed": 630.0,
"run_differential": -84.0,
"run_differential_per_game": -0.6269,
"avg_runs_scored": 4.0746,
"avg_runs_allowed": 4.7015,
"offense_index": 0.9068,
"defense_index": 0.9557,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 3.4,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.1529
},
"edges": {
"quality_edge": 0.0867,
"offense_edge": 0.0073,
"opponent_offense_edge": -0.0932,
"defense_strength": -0.0551,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0055,
"run_prevention": 0.9863,
"strikeout": 1.0101
},
"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": 195.0,
"k_percent": 29.4,
"bb_percent": 16.4,
"woba": 0.329,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 41.9,
"avg_best_speed": 81.6953,
"avg_hyper_speed": 94.3642,
"whiff_percent": 32.9,
"swing_percent": 41.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1604,
"command_and_miss": 0.4793,
"regression_edge": 0.5143,
"xwoba_edge": 0.0286,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.6143,
"whiff_edge": 1.0857,
"bb_edge": -1.85,
"pitch_design_score": 0.0592
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "650556",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.97092095701862,
"release_spin_rate": 2504.131207232104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.97092095701862,
"release_spin_rate": 2504.131207232104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.9709,
"release_spin_rate": 2504.1312,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0592,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4231,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0709,
"sample_weight": 0.78,
"run_prevention_factor": 0.994,
"strikeout_factor": 1.0664,
"walk_factor": 1.1154,
"homer_factor": 1.0005,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650556",
"espn_id": 41208,
"player_name": "Bryan Abreu",
"team": "HOU",
"role": "pitcher",
"espn_rank": 244,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 244,
"gp_value": 49.0,
"gp_rank": 69,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 4.3043,
"era_rank": null,
"w_value": 4.0,
"w_rank": 161,
"l_value": 3.0,
"l_rank": 209,
"sv_value": 7.0,
"sv_rank": 31,
"hld_value": 9.0,
"hld_rank": 85,
"ip_value": 46.0,
"ip_rank": 286,
"h_value": 32.0,
"h_rank": 358,
"er_value": 22.0,
"er_rank": 250,
"hr_value": 7.0,
"hr_rank": 205,
"bb_value": 33.0,
"bb_rank": 105,
"k_value": 59.0,
"k_rank": 192,
"k_per_9_value": 11.543478,
"k_per_9_rank": 18.0,
"whip_value": 1.413,
"whip_rank": null,
"war_value": 0.48,
"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.09,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0518,
"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": 3,
"BB": 5,
"SO": 13,
"HR": 0,
"ERA": 1.7419354838709677,
"WHIP": 0.7741935483870968,
"K9": 11.32258064516129,
"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-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "650556",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.97092095701862,
"release_spin_rate": 2504.131207232104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 90.97092095701862,
"release_spin_rate": 2504.131207232104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.9709,
"release_spin_rate": 2504.1312,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0592,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4231,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.223,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6485,
"prior_weight": 0.3515
},
"role": "pitcher",
"player_id": "650556",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 4.0,
"SO": 6.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 101.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.8,
"SO": 1.2,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.2
},
"rates": {
"ERA": 3.375,
"WHIP": 1.3125,
"ER_per_IP": 0.375,
"H_per_IP": 0.5625,
"BB_per_IP": 0.75,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 5.0,
"SO": 13.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.3,
"BB": 0.5,
"SO": 1.3,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.6
},
"rates": {
"ERA": 1.7419,
"WHIP": 0.7742,
"ER_per_IP": 0.19355,
"H_per_IP": 0.29032,
"BB_per_IP": 0.48387,
"SO_per_IP": 1.25806,
"HR_per_IP": 0.0
}
},
"season": {
"games": 48,
"totals": {
"IP": 46.0,
"ER": 22.0,
"R": 23.0,
"H": 30.0,
"BB": 33.0,
"SO": 59.0,
"HR": 7.0,
"BF": 199.0,
"Pitches": 835.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4583,
"R": 0.4792,
"H": 0.625,
"BB": 0.6875,
"SO": 1.2292,
"HR": 0.1458,
"BF": 4.1458,
"Pitches": 17.3958
},
"rates": {
"ERA": 4.3043,
"WHIP": 1.3696,
"ER_per_IP": 0.47826,
"H_per_IP": 0.65217,
"BB_per_IP": 0.71739,
"SO_per_IP": 1.28261,
"HR_per_IP": 0.15217
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.391,
"predicted_H": 0.656,
"predicted_BB": 0.55,
"predicted_SO": 1.116,
"predicted_HR": 0.071,
"predicted_ERA": 3.5209,
"predicted_WHIP": 1.2067
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4985,
"form_weight": 0.5015,
"form_reliability": 0.6485,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.223,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6485,
"prior_weight": 0.3515
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.391,
"final": 0.1961,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.656,
"final": 0.329,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.55,
"final": 0.2758,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.116,
"final": 0.5597,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.071,
"final": 0.0356,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5209,
"final": 3.5209,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2067,
"final": 1.2067,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.5144 |
| ESPN Rank | 64 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0512 |
| Avg Velo | 90.8280 |
| Avg Spin | 2354.2453 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 0.5806 |
| Season WHIP | 0.6774 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 135,
"wins": 67,
"losses": 68,
"win_pct": 0.4963,
"runs_scored": 611.0,
"runs_allowed": 642.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2296,
"avg_runs_scored": 4.5259,
"avg_runs_allowed": 4.7556,
"offense_index": 1.0073,
"defense_index": 0.9449,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.3,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0662
},
"opponent": {
"team": "LAA",
"games": 134,
"wins": 55,
"losses": 79,
"win_pct": 0.4104,
"runs_scored": 546.0,
"runs_allowed": 630.0,
"run_differential": -84.0,
"run_differential_per_game": -0.6269,
"avg_runs_scored": 4.0746,
"avg_runs_allowed": 4.7015,
"offense_index": 0.9068,
"defense_index": 0.9557,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 3.4,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.1529
},
"edges": {
"quality_edge": 0.0867,
"offense_edge": 0.0073,
"opponent_offense_edge": -0.0932,
"defense_strength": -0.0551,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0055,
"run_prevention": 0.9863,
"strikeout": 1.0101
},
"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": 113.0,
"k_percent": 35.0,
"bb_percent": 9.4,
"woba": 0.181,
"xwoba": 0.225,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 33.8,
"avg_best_speed": 73.8346,
"avg_hyper_speed": 92.7746,
"whiff_percent": 36.5,
"swing_percent": 53.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.6136,
"command_and_miss": 1.3693,
"regression_edge": -1.2571,
"xwoba_edge": 2.4857,
"barrel_edge": -0.1333,
"hard_hit_edge": 0.5429,
"whiff_edge": 1.6,
"bb_edge": -0.1,
"pitch_design_score": 0.0512
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "623352",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.82802529566575,
"release_spin_rate": 2354.245343911936,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.82802529566575,
"release_spin_rate": 2354.245343911936,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.828,
"release_spin_rate": 2354.2453,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0512,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.366,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5144,
"sample_weight": 0.452,
"run_prevention_factor": 0.9563,
"strikeout_factor": 1.0622,
"walk_factor": 1.0036,
"homer_factor": 0.9613,
"woba_minus_xwoba": -0.044,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "623352",
"espn_id": 32760,
"player_name": "Josh Hader",
"team": "HOU",
"role": "pitcher",
"espn_rank": 64,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 64,
"gp_value": 32.0,
"gp_rank": 186,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 0.8709,
"era_rank": null,
"w_value": 4.0,
"w_rank": 161,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 18.0,
"sv_rank": 15,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 31.0,
"ip_rank": 398,
"h_value": 13.0,
"h_rank": 558,
"er_value": 3.0,
"er_rank": 673,
"hr_value": 1.0,
"hr_rank": 578,
"bb_value": 11.0,
"bb_rank": 426,
"k_value": 41.0,
"k_rank": 309,
"k_per_9_value": 11.903226,
"k_per_9_rank": 20.0,
"whip_value": 0.7741,
"whip_rank": null,
"war_value": 2.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9802,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9802,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0016,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9825,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0281,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.0,
"ER": 0,
"H": 3,
"BB": 3,
"SO": 8,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5454545454545454,
"K9": 6.545454545454546,
"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-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "623352",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.82802529566575,
"release_spin_rate": 2354.245343911936,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 90.82802529566575,
"release_spin_rate": 2354.245343911936,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.828,
"release_spin_rate": 2354.2453,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0512,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.366,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.216,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5542,
"prior_weight": 0.4458
},
"role": "pitcher",
"player_id": "623352",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6667,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.16667,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 3.0,
"SO": 8.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.3,
"BB": 0.3,
"SO": 0.8,
"HR": 0.0,
"BF": 3.9,
"Pitches": 15.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5455,
"ER_per_IP": 0.0,
"H_per_IP": 0.27273,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.72727,
"HR_per_IP": 0.0
}
},
"season": {
"games": 31,
"totals": {
"IP": 31.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 11.0,
"SO": 41.0,
"HR": 1.0,
"BF": 114.0,
"Pitches": 466.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0645,
"R": 0.0645,
"H": 0.3226,
"BB": 0.3548,
"SO": 1.3226,
"HR": 0.0323,
"BF": 3.6774,
"Pitches": 15.0323
},
"rates": {
"ERA": 0.5806,
"WHIP": 0.6774,
"ER_per_IP": 0.06452,
"H_per_IP": 0.32258,
"BB_per_IP": 0.35484,
"SO_per_IP": 1.32258,
"HR_per_IP": 0.03226
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.249,
"predicted_H": 0.701,
"predicted_BB": 0.321,
"predicted_SO": 0.997,
"predicted_HR": 0.075,
"predicted_ERA": 2.0712,
"predicted_WHIP": 0.9436
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5384,
"form_weight": 0.4616,
"form_reliability": 0.5542,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.216,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5542,
"prior_weight": 0.4458
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.249,
"final": 0.115,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.701,
"final": 0.3236,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.321,
"final": 0.1482,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.997,
"final": 0.4603,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0346,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0712,
"final": 2.0712,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9436,
"final": 0.9436,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.6656 |
| ESPN Rank | 54 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.2320 |
| Avg Spin | 2358.7241 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.0106 |
| Season WHIP | 0.8457 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 135,
"wins": 67,
"losses": 68,
"win_pct": 0.4963,
"runs_scored": 611.0,
"runs_allowed": 642.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2296,
"avg_runs_scored": 4.5259,
"avg_runs_allowed": 4.7556,
"offense_index": 1.0073,
"defense_index": 0.9449,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.3,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0662
},
"opponent": {
"team": "LAA",
"games": 134,
"wins": 55,
"losses": 79,
"win_pct": 0.4104,
"runs_scored": 546.0,
"runs_allowed": 630.0,
"run_differential": -84.0,
"run_differential_per_game": -0.6269,
"avg_runs_scored": 4.0746,
"avg_runs_allowed": 4.7015,
"offense_index": 0.9068,
"defense_index": 0.9557,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 3.4,
"run_differential": -3.0
},
"available": true,
"quality_score": -0.1529
},
"edges": {
"quality_edge": 0.0867,
"offense_edge": 0.0073,
"opponent_offense_edge": -0.0932,
"defense_strength": -0.0551,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0055,
"run_prevention": 0.9863,
"strikeout": 1.0101
},
"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": 231.0,
"k_percent": 26.7,
"bb_percent": 5.4,
"woba": 0.242,
"xwoba": 0.262,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 33.3,
"avg_best_speed": 76.2809,
"avg_hyper_speed": 92.9953,
"whiff_percent": 30.7,
"swing_percent": 49.6
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.0821,
"command_and_miss": 0.7457,
"regression_edge": -0.5714,
"xwoba_edge": 1.4286,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.6143,
"whiff_edge": 0.7714,
"bb_edge": 0.9,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "595345",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 84.23203925709048,
"release_spin_rate": 2358.7241489703274,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 84.23203925709048,
"release_spin_rate": 2358.7241489703274,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.232,
"release_spin_rate": 2358.7241,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.6656,
"sample_weight": 0.924,
"run_prevention_factor": 0.9434,
"strikeout_factor": 1.0528,
"walk_factor": 0.9335,
"homer_factor": 0.895,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "595345",
"espn_id": 33716,
"player_name": "Steven Okert",
"team": "HOU",
"role": "pitcher",
"espn_rank": 54,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 54,
"gp_value": 62.0,
"gp_rank": 5,
"gs_value": 1.0,
"gs_rank": 288,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.0106,
"era_rank": null,
"w_value": 6.0,
"w_rank": 88,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 18.0,
"hld_rank": 17,
"ip_value": 62.2,
"ip_rank": 181,
"h_value": 40.0,
"h_rank": 279,
"er_value": 14.0,
"er_rank": 392,
"hr_value": 6.0,
"hr_rank": 244,
"bb_value": 13.0,
"bb_rank": 379,
"k_value": 64.0,
"k_rank": 171,
"k_per_9_value": 9.191489,
"k_per_9_rank": 25.0,
"whip_value": 0.8457,
"whip_rank": null,
"war_value": 2.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9477,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9477,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9386,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.903,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0488,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 9,
"BB": 1,
"SO": 10,
"HR": 1,
"ERA": 1.8,
"WHIP": 1.0,
"K9": 9.0,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "595345",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 84.23203925709048,
"release_spin_rate": 2358.7241489703274,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 84.23203925709048,
"release_spin_rate": 2358.7241489703274,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 84.232,
"release_spin_rate": 2358.7241,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.565,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7153,
"prior_weight": 0.2847
},
"role": "pitcher",
"player_id": "595345",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 62,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5625,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 1.0,
"SO": 10.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.1,
"SO": 1.0,
"HR": 0.1,
"BF": 4.0,
"Pitches": 16.2
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.9,
"BB_per_IP": 0.1,
"SO_per_IP": 1.0,
"HR_per_IP": 0.1
}
},
"season": {
"games": 62,
"totals": {
"IP": 62.2,
"ER": 14.0,
"R": 15.0,
"H": 40.0,
"BB": 13.0,
"SO": 64.0,
"HR": 6.0,
"BF": 240.0,
"Pitches": 966.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2258,
"R": 0.2419,
"H": 0.6452,
"BB": 0.2097,
"SO": 1.0323,
"HR": 0.0968,
"BF": 3.871,
"Pitches": 15.5806
},
"rates": {
"ERA": 2.0106,
"WHIP": 0.8457,
"ER_per_IP": 0.2234,
"H_per_IP": 0.6383,
"BB_per_IP": 0.20745,
"SO_per_IP": 1.02128,
"HR_per_IP": 0.09574
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.224,
"predicted_H": 0.714,
"predicted_BB": 0.219,
"predicted_SO": 0.97,
"predicted_HR": 0.081,
"predicted_ERA": 2.0199,
"predicted_WHIP": 0.9333
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4703,
"form_weight": 0.5297,
"form_reliability": 0.7153,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.565,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7153,
"prior_weight": 0.2847
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.224,
"final": 0.1187,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.714,
"final": 0.8485,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.219,
"final": 0.116,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.97,
"final": 0.9841,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.081,
"final": 0.0429,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0199,
"final": 2.0199,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9333,
"final": 0.9333,
"source": "form_only"
}
}
}{
"available": false,
"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.125 | 0.000 | 0.000 | Hitting_2B | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.625 | 4.000 | 3.000 | Hitting_AB | 2.921 | 3.000 | 1.079 | 1.000 |
| predicted_AVG | 0.226 | 0.500 | 0.333 | Hitting_AVG | 0.224 | 0.333 | 0.276 | 0.167 |
| predicted_BB | 0.469 | 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 | 0.594 | 2.000 | 1.000 | Hitting_H | 0.653 | 1.000 | 1.347 | 1.000 |
| predicted_HR | 0.062 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.343 | 0.500 | 0.333 | Hitting_OBP | 0.353 | 0.333 | 0.147 | 0.167 |
| predicted_R | 0.312 | 1.000 | 0.000 | Hitting_R | 0.396 | 0.000 | 0.604 | 1.000 |
| predicted_RBI | 0.469 | 0.000 | 0.000 | Hitting_RBI | 0.574 | 0.000 | -0.574 | 0.000 |
| predicted_SLG | 0.345 | 0.500 | 0.333 | Hitting_SLG | 0.369 | 0.333 | 0.131 | 0.167 |
| predicted_SO | 0.656 | 0.000 | 1.000 | Hitting_SO | 0.762 | 1.000 | -0.762 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.5940 -> 2.0000 (boost 1.4060, better) |
| Biggest Deboost | predicted_SO: 0.6560 -> 0.0000 (deboost -0.6560, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.5940 -> 0.6440 (boost 0.0500, better) | predicted_BB: 0.4690 -> 0.4159 (deboost -0.0531, worse) | Final model input calibrated with local 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_H: 0.6470 -> 1.0000 (boost 0.3530, better) | predicted_RBI: 0.4325 -> 0.0000 (deboost -0.4325, worse) | AB rounded to 3 (raw=2.66), rates preserved: AVG=0.243 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2838 -> 0.0000 (deboost -0.2838, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2431 -> 0.3330 (boost 0.0899, better) | predicted_SLG: 0.3549 -> 0.3330 (deboost -0.0219, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3549 (boost 0.0219, better) | predicted_AVG: 0.3330 -> 0.2431 (deboost -0.0899, 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": "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.125,
"predicted_3B": 0.0,
"predicted_AB": 2.625,
"predicted_AVG": 0.226,
"predicted_BB": 0.469,
"predicted_H": 0.594,
"predicted_HR": 0.062,
"predicted_OBP": 0.343,
"predicted_R": 0.312,
"predicted_RBI": 0.469,
"predicted_SLG": 0.345,
"predicted_SO": 0.656
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1193,
"predicted_3B": 0.0011,
"predicted_AB": 2.6621,
"predicted_AVG": 0.2414,
"predicted_BB": 0.4159,
"predicted_H": 0.644,
"predicted_HBP": 0.005,
"predicted_HR": 0.0582,
"predicted_OBP": 0.3448,
"predicted_R": 0.2814,
"predicted_RBI": 0.4289,
"predicted_SLG": 0.3529,
"predicted_SO": 0.6499
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1193,
"delta": -0.0057,
"percent_delta": -0.0456,
"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.625,
"after": 2.6621,
"delta": 0.0371,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2414,
"delta": 0.0154,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.469,
"after": 0.4159,
"delta": -0.0531,
"percent_delta": -0.1132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.594,
"after": 0.644,
"delta": 0.05,
"percent_delta": 0.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.062,
"after": 0.0582,
"delta": -0.0038,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3448,
"delta": 0.0018,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.2814,
"delta": -0.0306,
"percent_delta": -0.0981,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.469,
"after": 0.4289,
"delta": -0.0401,
"percent_delta": -0.0855,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3529,
"delta": 0.0079,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.656,
"after": 0.6499,
"delta": -0.0061,
"percent_delta": -0.0093,
"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.594,
"after": 0.644,
"delta": 0.05,
"percent_delta": 0.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.469,
"after": 0.4159,
"delta": -0.0531,
"percent_delta": -0.1132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 32
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1193,
"predicted_3B": 0.0011,
"predicted_AB": 2.6621,
"predicted_AVG": 0.2431,
"predicted_BB": 0.4171,
"predicted_H": 0.647,
"predicted_HBP": 0.005,
"predicted_HR": 0.0588,
"predicted_OBP": 0.3456,
"predicted_R": 0.2838,
"predicted_RBI": 0.4325,
"predicted_SLG": 0.3549,
"predicted_SO": 0.648
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1193,
"after": 0.1193,
"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.6621,
"after": 2.6621,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2414,
"after": 0.2431,
"delta": 0.0017,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4159,
"after": 0.4171,
"delta": 0.0012,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.644,
"after": 0.647,
"delta": 0.003,
"percent_delta": 0.0047,
"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.0582,
"after": 0.0588,
"delta": 0.0006,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3448,
"after": 0.3456,
"delta": 0.0008,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2814,
"after": 0.2838,
"delta": 0.0024,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4289,
"after": 0.4325,
"delta": 0.0036,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3529,
"after": 0.3549,
"delta": 0.002,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6499,
"after": 0.648,
"delta": -0.0019,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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=2.66), rates preserved: AVG=0.243 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.1193,
"after": 0.0,
"delta": -0.1193,
"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.6621,
"after": 3.0,
"delta": 0.3379,
"percent_delta": 0.1269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4171,
"after": 0.0,
"delta": -0.4171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.647,
"after": 1.0,
"delta": 0.353,
"percent_delta": 0.5456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.005,
"after": 0.0,
"delta": -0.005,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0588,
"after": 0.0,
"delta": -0.0588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4325,
"after": 0.0,
"delta": -0.4325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.648,
"after": 1.0,
"delta": 0.352,
"percent_delta": 0.5432,
"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.647,
"after": 1.0,
"delta": 0.353,
"percent_delta": 0.5456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4325,
"after": 0.0,
"delta": -0.4325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2838,
"after": 0.0,
"delta": -0.2838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2838,
"after": 0.0,
"delta": -0.2838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2431,
"after": 0.333,
"delta": 0.0899,
"percent_delta": 0.3698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3456,
"after": 0.333,
"delta": -0.0126,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3549,
"after": 0.333,
"delta": -0.0219,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.2431,
"after": 0.333,
"delta": 0.0899,
"percent_delta": 0.3698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3549,
"after": 0.333,
"delta": -0.0219,
"percent_delta": -0.0617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2431,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3456,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3549,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2431,
"delta": -0.0899,
"percent_delta": -0.2701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3456,
"delta": 0.0126,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3549,
"delta": 0.0219,
"percent_delta": 0.0658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.3549,
"delta": 0.0219,
"percent_delta": 0.0658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2431,
"delta": -0.0899,
"percent_delta": -0.2701,
"direction": "deboost",
"projection_effect": "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.625,
"after": 4.0,
"delta": 1.375,
"percent_delta": 0.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2431,
"delta": 0.0171,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.594,
"after": 2.0,
"delta": 1.406,
"percent_delta": 2.367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3456,
"delta": 0.0026,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3549,
"delta": 0.0099,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.656,
"after": 0.0,
"delta": -0.656,
"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.594,
"after": 2.0,
"delta": 1.406,
"percent_delta": 2.367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.656,
"after": 0.0,
"delta": -0.656,
"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.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.625 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.469 | - |
| predicted_H | 0.594 | - |
| predicted_HR | 0.062 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.312 | - |
| predicted_RBI | 0.469 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 0.656 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | -0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.662 | 0.037 |
| predicted_AVG | 0.241 | 0.015 |
| predicted_BB | 0.416 | -0.053 |
| predicted_H | 0.644 | 0.050 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.058 | -0.004 |
| predicted_OBP | 0.345 | 0.002 |
| predicted_R | 0.281 | -0.031 |
| predicted_RBI | 0.429 | -0.040 |
| predicted_SLG | 0.353 | 0.008 |
| predicted_SO | 0.650 | -0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.662 | 0.000 |
| predicted_AVG | 0.243 | 0.002 |
| predicted_BB | 0.417 | 0.001 |
| predicted_H | 0.647 | 0.003 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.059 | 0.001 |
| predicted_OBP | 0.346 | 0.001 |
| predicted_R | 0.284 | 0.002 |
| predicted_RBI | 0.432 | 0.004 |
| predicted_SLG | 0.355 | 0.002 |
| predicted_SO | 0.648 | -0.002 |
AB rounded to 3 (raw=2.66), rates preserved: AVG=0.243 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.119 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.338 |
| predicted_AVG | 0.333 | 0.090 |
| predicted_BB | 0.000 | -0.417 |
| predicted_H | 1.000 | 0.353 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.333 | -0.013 |
| predicted_R | 0.000 | -0.284 |
| predicted_RBI | 0.000 | -0.432 |
| predicted_SLG | 0.333 | -0.022 |
| predicted_SO | 1.000 | 0.352 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.3000 | 0.3636 | 0.3000 | 0.3000 | 0.0000 | 0.0000 | 0.1000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 21.000 | 8.000 | 1.000 | 0.000 | 0.000 | 3.000 | 0.000 | 1.000 | 3.000 | 0.3810 | 0.4091 | 0.4286 | 0.3810 | 0.0000 | 0.1429 | 0.0476 | 0.1429 |
| season | 0.60 | 32 | - | 84.000 | 19.000 | 4.000 | 0.000 | 2.000 | 15.000 | 10.000 | 15.000 | 21.000 | 0.2262 | 0.3434 | 0.3452 | 0.2262 | 0.0238 | 0.1786 | 0.1786 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1100 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.7220 |
| predicted_AVG | 0.2664 |
| predicted_BB | 0.3300 |
| predicted_H | 0.7250 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0520 |
| predicted_OBP | 0.3477 |
| predicted_R | 0.2320 |
| predicted_RBI | 0.3640 |
| predicted_SLG | 0.3657 |
| predicted_SO | 0.6400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1100 | 0.1193 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.6250 | 2.7220 | 2.6621 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2664 | 0.2414 | model_form_blend |
| predicted_BB | 0.4690 | 0.3300 | 0.4159 | model_form_blend |
| predicted_H | 0.5940 | 0.7250 | 0.6440 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0620 | 0.0520 | 0.0582 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3477 | 0.3448 | model_form_blend |
| predicted_R | 0.3120 | 0.2320 | 0.2814 | model_form_blend |
| predicted_RBI | 0.4690 | 0.3640 | 0.4289 | model_form_blend |
| predicted_SLG | 0.3450 | 0.3657 | 0.3529 | model_form_blend |
| predicted_SO | 0.6560 | 0.6400 | 0.6499 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 101 |
| Season rows before report date | 101 |
| Report year | 2026 |
| Profile rows used | 32 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.226 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 664774 |
| playerID | 664774 |
| playerName | LaMonte Wade Jr. |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 16.0 |
| sl_woba | 0.319 |
| sl_xwoba | 0.291 |
| sl_xba | 0.205 |
| sl_xslg | 0.294 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 34.9 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 38.4 |
| at_bat_number | 49.0 |
| ab_pitcher | 605242.0 |
| ab_pitcher_name | Fulmer, Michael |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 670623.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | single |
| ab_event_description | LaMonte Wade Jr. singles on a sharp line drive to right fielder Josh Lowe. Isaac Paredes to 2nd. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 105.8 |
| ab_launch_angle_last | 12.0 |
| ab_hit_distance_last | 229.0 |
| ab_estimated_ba_last | 0.957 |
| ab_estimated_woba_last | 0.965 |
| ab_estimated_slg_last | 1.282 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 92.775 |
| ab_release_spin_rate_avg | 2575.25 |
| ab_effective_speed_avg | 92.975 |
| ab_launch_speed_avg | 105.8 |
| ab_launch_angle_avg | 12.0 |
| ab_delta_run_exp_avg | 0.1025 |
| ab_delta_home_win_exp_avg | 0.008 |
| ab_delta_pitcher_run_exp_avg | -0.1025 |
| ab_bat_speed_avg | 72.3 |
| ab_swing_length_avg | 6.5 |
| ab_launch_speed_max | 105.8 |
| ab_hit_distance_sc_max | 229.0 |
| ab_release_speed_max | 95.4 |
| ab_release_spin_rate_max | 2738.0 |
| ab_release_speed_min | 90.1 |
| ab_release_spin_rate_min | 2381.0 |
| ab_delta_run_exp_sum | 0.41 |
| ab_delta_home_win_exp_sum | 0.032 |
| ab_delta_pitcher_run_exp_sum | -0.41 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.202 | 1.000 | 0.000 | Hitting_2B | 0.212 | 0.000 | 0.788 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.230 | 4.000 | 4.000 | Hitting_AB | 3.704 | 4.000 | 0.296 | 0.000 |
| predicted_AVG | 0.279 | 0.250 | 0.250 | Hitting_AVG | 0.333 | 0.250 | -0.083 | 0.000 |
| predicted_BB | 0.694 | 0.000 | 1.000 | Hitting_BB | 0.743 | 0.000 | -0.743 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.180 | 1.000 | 1.000 | Hitting_H | 1.232 | 1.000 | -0.232 | 0.000 |
| predicted_HR | 0.280 | 0.000 | 0.000 | Hitting_HR | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_OBP | 0.363 | 0.250 | 0.400 | Hitting_OBP | 0.448 | 0.250 | -0.198 | 0.000 |
| predicted_R | 0.669 | 1.000 | 1.000 | Hitting_R | 0.717 | 1.000 | 0.283 | 0.000 |
| predicted_RBI | 0.640 | 2.000 | 1.000 | Hitting_RBI | 0.750 | 0.000 | 1.250 | 2.000 |
| predicted_SLG | 0.503 | 0.500 | 0.250 | Hitting_SLG | 0.641 | 0.250 | -0.141 | 0.250 |
| predicted_SO | 0.750 | 0.000 | 1.000 | Hitting_SO | 0.757 | 1.000 | -0.757 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.6400 -> 2.0000 (boost 1.3600, 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 | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.2300 -> 3.9843 (deboost -0.2457, worse) | Final model input calibrated with local 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.5013 -> 0.5179 (boost 0.0166, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5871 -> 1.0000 (boost 0.4129, better) | predicted_HR: 0.2603 -> 0.0000 (deboost -0.2603, worse) | AB rounded to 4 (raw=4.23), rates preserved: AVG=0.261 HR/AB=0.062 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6427 -> 1.0000 (boost 0.3573, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3772 -> 0.4000 (boost 0.0228, better) | predicted_SLG: 0.5179 -> 0.2500 (deboost -0.2679, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.5179 (boost 0.2679, better) | predicted_OBP: 0.4000 -> 0.3772 (deboost -0.0228, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.202,
"predicted_3B": 0.0,
"predicted_AB": 4.23,
"predicted_AVG": 0.279,
"predicted_BB": 0.694,
"predicted_H": 1.18,
"predicted_HR": 0.28,
"predicted_OBP": 0.363,
"predicted_R": 0.669,
"predicted_RBI": 0.64,
"predicted_SLG": 0.503,
"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.1768,
"predicted_3B": 0.0004,
"predicted_AB": 3.9843,
"predicted_AVG": 0.2758,
"predicted_BB": 0.6366,
"predicted_H": 1.1,
"predicted_HBP": 0.053,
"predicted_HR": 0.2578,
"predicted_OBP": 0.3663,
"predicted_R": 0.6373,
"predicted_RBI": 0.5822,
"predicted_SLG": 0.5013,
"predicted_SO": 0.7604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.1768,
"delta": -0.0252,
"percent_delta": -0.1248,
"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.23,
"after": 3.9843,
"delta": -0.2457,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2758,
"delta": -0.0032,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.694,
"after": 0.6366,
"delta": -0.0574,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.1,
"delta": -0.08,
"percent_delta": -0.0678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.2578,
"delta": -0.0222,
"percent_delta": -0.0793,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3663,
"delta": 0.0033,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.669,
"after": 0.6373,
"delta": -0.0317,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.5822,
"delta": -0.0578,
"percent_delta": -0.0903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.5013,
"delta": -0.0017,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.7604,
"delta": 0.0104,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.23,
"after": 3.9843,
"delta": -0.2457,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 124
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1768,
"predicted_3B": 0.0004,
"predicted_AB": 3.9843,
"predicted_AVG": 0.2774,
"predicted_BB": 0.6384,
"predicted_H": 1.1052,
"predicted_HBP": 0.053,
"predicted_HR": 0.2603,
"predicted_OBP": 0.3772,
"predicted_R": 0.6427,
"predicted_RBI": 0.5871,
"predicted_SLG": 0.5179,
"predicted_SO": 0.7582
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1768,
"after": 0.1768,
"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.9843,
"after": 3.9843,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2758,
"after": 0.2774,
"delta": 0.0016,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6366,
"after": 0.6384,
"delta": 0.0018,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.1052,
"delta": 0.0052,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.053,
"after": 0.053,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2578,
"after": 0.2603,
"delta": 0.0025,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3663,
"after": 0.3772,
"delta": 0.0109,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6373,
"after": 0.6427,
"delta": 0.0054,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5822,
"after": 0.5871,
"delta": 0.0049,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5013,
"after": 0.5179,
"delta": 0.0166,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7604,
"after": 0.7582,
"delta": -0.0022,
"percent_delta": -0.0029,
"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.5013,
"after": 0.5179,
"delta": 0.0166,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.23), rates preserved: AVG=0.261 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.1768,
"after": 0.0,
"delta": -0.1768,
"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.9843,
"after": 4.0,
"delta": 0.0157,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6384,
"after": 1.0,
"delta": 0.3616,
"percent_delta": 0.5664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1052,
"after": 1.0,
"delta": -0.1052,
"percent_delta": -0.0952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2603,
"after": 0.0,
"delta": -0.2603,
"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": 0.7582,
"after": 1.0,
"delta": 0.2418,
"percent_delta": 0.3189,
"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.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.2603,
"after": 0.0,
"delta": -0.2603,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9,
"bvp": 0.1
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6427,
"after": 1.0,
"delta": 0.3573,
"percent_delta": 0.5559,
"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.6427,
"after": 1.0,
"delta": 0.3573,
"percent_delta": 0.5559,
"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.2774,
"after": 0.25,
"delta": -0.0274,
"percent_delta": -0.0988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3772,
"after": 0.4,
"delta": 0.0228,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5179,
"after": 0.25,
"delta": -0.2679,
"percent_delta": -0.5173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3772,
"after": 0.4,
"delta": 0.0228,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5179,
"after": 0.25,
"delta": -0.2679,
"percent_delta": -0.5173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2774,
"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.3772,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5179,
"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.2774,
"delta": 0.0274,
"percent_delta": 0.1095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3772,
"delta": -0.0228,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.5179,
"delta": 0.2679,
"percent_delta": 1.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.5179,
"delta": 0.2679,
"percent_delta": 1.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3772,
"delta": -0.0228,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 1.0,
"delta": 0.798,
"percent_delta": 3.9505,
"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.23,
"after": 4.0,
"delta": -0.23,
"percent_delta": -0.0544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2774,
"delta": -0.0016,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.0,
"delta": -0.18,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3772,
"delta": 0.0142,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.669,
"after": 1.0,
"delta": 0.331,
"percent_delta": 0.4948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.5179,
"delta": 0.0149,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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.202 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.230 | - |
| predicted_AVG | 0.279 | - |
| predicted_BB | 0.694 | - |
| predicted_H | 1.180 | - |
| predicted_HR | 0.280 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.669 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.503 | - |
| 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.177 | -0.025 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.984 | -0.246 |
| predicted_AVG | 0.276 | -0.003 |
| predicted_BB | 0.637 | -0.057 |
| predicted_H | 1.100 | -0.080 |
| predicted_HBP | 0.053 | - |
| predicted_HR | 0.258 | -0.022 |
| predicted_OBP | 0.366 | 0.003 |
| predicted_R | 0.637 | -0.032 |
| predicted_RBI | 0.582 | -0.058 |
| predicted_SLG | 0.501 | -0.002 |
| predicted_SO | 0.760 | 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.177 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.984 | 0.000 |
| predicted_AVG | 0.277 | 0.002 |
| predicted_BB | 0.638 | 0.002 |
| predicted_H | 1.105 | 0.005 |
| predicted_HBP | 0.053 | 0.000 |
| predicted_HR | 0.260 | 0.003 |
| predicted_OBP | 0.377 | 0.011 |
| predicted_R | 0.643 | 0.005 |
| predicted_RBI | 0.587 | 0.005 |
| predicted_SLG | 0.518 | 0.017 |
| predicted_SO | 0.758 | -0.002 |
AB rounded to 4 (raw=4.23), rates preserved: AVG=0.261 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 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.177 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.016 |
| predicted_AVG | 0.250 | -0.027 |
| predicted_BB | 1.000 | 0.362 |
| predicted_H | 1.000 | -0.105 |
| predicted_HR | 0.000 | -0.260 |
| predicted_OBP | 0.400 | 0.023 |
| predicted_R | 1.000 | 0.357 |
| predicted_RBI | 1.000 | 0.413 |
| predicted_SLG | 0.250 | -0.268 |
| predicted_SO | 1.000 | 0.242 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 3.000 | 2.000 | 4.000 | 0.2105 | 0.2857 | 0.3684 | 0.2105 | 0.0526 | 0.0526 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 8.000 | 0.1944 | 0.2857 | 0.3056 | 0.1944 | 0.0278 | 0.0556 | 0.1111 | 0.2222 |
| season | 0.60 | 124 | - | 450.000 | 144.000 | 25.000 | 0.000 | 36.000 | 88.000 | 83.000 | 86.000 | 93.000 | 0.3200 | 0.4333 | 0.6156 | 0.3200 | 0.0800 | 0.1956 | 0.1911 | 0.2067 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6650 |
| predicted_AVG | 0.2717 |
| predicted_BB | 0.5620 |
| predicted_H | 0.9960 |
| predicted_HBP | 0.0530 |
| predicted_HR | 0.2290 |
| predicted_OBP | 0.3707 |
| predicted_R | 0.5960 |
| predicted_RBI | 0.5070 |
| predicted_SLG | 0.4992 |
| predicted_SO | 0.7740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2020 | 0.1440 | 0.1768 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2300 | 3.6650 | 3.9843 | model_form_blend |
| predicted_AVG | 0.2790 | 0.2717 | 0.2758 | model_form_blend |
| predicted_BB | 0.6940 | 0.5620 | 0.6366 | model_form_blend |
| predicted_H | 1.1800 | 0.9960 | 1.1000 | model_form_blend |
| predicted_HBP | - | 0.0530 | 0.0530 | form_only |
| predicted_HR | 0.2800 | 0.2290 | 0.2578 | model_form_blend |
| predicted_OBP | 0.3630 | 0.3707 | 0.3663 | model_form_blend |
| predicted_R | 0.6690 | 0.5960 | 0.6373 | model_form_blend |
| predicted_RBI | 0.6400 | 0.5070 | 0.5822 | model_form_blend |
| predicted_SLG | 0.5030 | 0.4992 | 0.5013 | model_form_blend |
| predicted_SO | 0.7500 | 0.7740 | 0.7604 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 548 |
| Season rows before report date | 548 |
| Report year | 2026 |
| Profile rows used | 124 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.32 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 670541 |
| playerID | 670541 |
| playerName | Yordan Alvarez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 15.6 |
| sl_woba | 0.432 |
| sl_xwoba | 0.458 |
| sl_xba | 0.329 |
| sl_xslg | 0.675 |
| sl_sweet_spot_percent | 41.9 |
| sl_barrel_batted_rate | 17.5 |
| sl_hard_hit_percent | 53.4 |
| sl_exit_velocity_avg | 94.5 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 42.8 |
| at_bat_number | 62.0 |
| ab_pitcher | 642048.0 |
| ab_pitcher_name | Saucedo, Tayler |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Yordan Alvarez grounds out, second baseman Oswald Peraza to first baseman Nolan Schanuel. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 79.9 |
| ab_launch_angle_last | -24.0 |
| ab_hit_distance_last | 7.0 |
| ab_estimated_ba_last | 0.049 |
| ab_estimated_woba_last | 0.046 |
| ab_estimated_slg_last | 0.049 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 86.19999999999999 |
| ab_release_spin_rate_avg | 2445.5 |
| ab_effective_speed_avg | 86.55 |
| ab_launch_speed_avg | 79.9 |
| ab_launch_angle_avg | -24.0 |
| ab_delta_run_exp_avg | -0.06475 |
| ab_delta_home_win_exp_avg | -0.0035 |
| ab_delta_pitcher_run_exp_avg | 0.06475 |
| ab_bat_speed_avg | 62.7 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 79.9 |
| ab_hit_distance_sc_max | 7.0 |
| ab_release_speed_max | 92.6 |
| ab_release_spin_rate_max | 2495.0 |
| ab_release_speed_min | 82.0 |
| ab_release_spin_rate_min | 2418.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | -0.014 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.094 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_AB | 2.828 | 4.000 | 3.000 | Hitting_AB | 3.125 | 3.000 | 0.875 | 1.000 |
| predicted_AVG | 0.215 | 0.000 | 0.333 | Hitting_AVG | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_BB | 0.281 | 0.000 | 0.000 | Hitting_BB | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 0.609 | 0.000 | 1.000 | Hitting_H | 0.721 | 0.000 | -0.721 | 0.000 |
| predicted_HR | 0.109 | 0.000 | 0.000 | Hitting_HR | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.333 | Hitting_OBP | 0.327 | 0.000 | -0.327 | 0.000 |
| predicted_R | 0.391 | 0.000 | 0.000 | Hitting_R | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_RBI | 0.312 | 0.000 | 0.000 | Hitting_RBI | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_SLG | 0.387 | 0.000 | 0.333 | Hitting_SLG | 0.403 | 0.000 | -0.403 | 0.000 |
| predicted_SO | 1.031 | 1.000 | 1.000 | Hitting_SO | 1.077 | 1.000 | -0.077 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.8280 -> 4.0000 (boost 1.1720, better) |
| Biggest Deboost | predicted_H: 0.6090 -> 0.0000 (deboost -0.6090, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 1.0310 -> 1.1237 (boost 0.0927, worse) | predicted_SLG: 0.3870 -> 0.3516 (deboost -0.0354, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.5617 -> 1.0000 (boost 0.4383, better) | predicted_RBI: 0.2851 -> 0.0000 (deboost -0.2851, worse) | AB rounded to 3 (raw=2.90), rates preserved: AVG=0.193 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3651 -> 0.0000 (deboost -0.3651, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1934 -> 0.3330 (boost 0.1396, better) | predicted_SLG: 0.3516 -> 0.3330 (deboost -0.0186, 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.3516 (boost 0.0186, better) | predicted_AVG: 0.3330 -> 0.1934 (deboost -0.1396, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666211",
"player_name": "Taylor Trammell",
"position": "LF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.094,
"predicted_3B": 0.031,
"predicted_AB": 2.828,
"predicted_AVG": 0.215,
"predicted_BB": 0.281,
"predicted_H": 0.609,
"predicted_HR": 0.109,
"predicted_OBP": 0.286,
"predicted_R": 0.391,
"predicted_RBI": 0.312,
"predicted_SLG": 0.387,
"predicted_SO": 1.031
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0845,
"predicted_3B": 0.0331,
"predicted_AB": 2.9047,
"predicted_AVG": 0.1932,
"predicted_BB": 0.2769,
"predicted_H": 0.5591,
"predicted_HBP": 0.029,
"predicted_HR": 0.102,
"predicted_OBP": 0.2659,
"predicted_R": 0.3621,
"predicted_RBI": 0.2827,
"predicted_SLG": 0.3516,
"predicted_SO": 1.1237
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.094,
"after": 0.0845,
"delta": -0.0095,
"percent_delta": -0.1011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0331,
"delta": 0.0021,
"percent_delta": 0.0677,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.828,
"after": 2.9047,
"delta": 0.0767,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.1932,
"delta": -0.0218,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.281,
"after": 0.2769,
"delta": -0.0041,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.609,
"after": 0.5591,
"delta": -0.0499,
"percent_delta": -0.0819,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.109,
"after": 0.102,
"delta": -0.007,
"percent_delta": -0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.391,
"after": 0.3621,
"delta": -0.0289,
"percent_delta": -0.0739,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.312,
"after": 0.2827,
"delta": -0.0293,
"percent_delta": -0.0939,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3516,
"delta": -0.0354,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.031,
"after": 1.1237,
"delta": 0.0927,
"percent_delta": 0.0899,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.031,
"after": 1.1237,
"delta": 0.0927,
"percent_delta": 0.0899,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3516,
"delta": -0.0354,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0845,
"predicted_3B": 0.0331,
"predicted_AB": 2.9047,
"predicted_AVG": 0.1934,
"predicted_BB": 0.2777,
"predicted_H": 0.5617,
"predicted_HBP": 0.029,
"predicted_HR": 0.103,
"predicted_OBP": 0.2638,
"predicted_R": 0.3651,
"predicted_RBI": 0.2851,
"predicted_SLG": 0.3516,
"predicted_SO": 1.1204
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0845,
"after": 0.0845,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0331,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9047,
"after": 2.9047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1932,
"after": 0.1934,
"delta": 0.0002,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2769,
"after": 0.2777,
"delta": 0.0008,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5591,
"after": 0.5617,
"delta": 0.0026,
"percent_delta": 0.0047,
"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.102,
"after": 0.103,
"delta": 0.001,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2659,
"after": 0.2638,
"delta": -0.0021,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3621,
"after": 0.3651,
"delta": 0.003,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2827,
"after": 0.2851,
"delta": 0.0024,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3516,
"after": 0.3516,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1237,
"after": 1.1204,
"delta": -0.0033,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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=2.90), rates preserved: AVG=0.193 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.0845,
"after": 0.0,
"delta": -0.0845,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0,
"delta": -0.0331,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9047,
"after": 3.0,
"delta": 0.0953,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2777,
"after": 0.0,
"delta": -0.2777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5617,
"after": 1.0,
"delta": 0.4383,
"percent_delta": 0.7803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2851,
"after": 0.0,
"delta": -0.2851,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1204,
"after": 1.0,
"delta": -0.1204,
"percent_delta": -0.1075,
"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.5617,
"after": 1.0,
"delta": 0.4383,
"percent_delta": 0.7803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2851,
"after": 0.0,
"delta": -0.2851,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3651,
"after": 0.0,
"delta": -0.3651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3651,
"after": 0.0,
"delta": -0.3651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1934,
"after": 0.333,
"delta": 0.1396,
"percent_delta": 0.7218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2638,
"after": 0.333,
"delta": 0.0692,
"percent_delta": 0.2623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3516,
"after": 0.333,
"delta": -0.0186,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1934,
"after": 0.333,
"delta": 0.1396,
"percent_delta": 0.7218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3516,
"after": 0.333,
"delta": -0.0186,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.1934,
"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.2638,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3516,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1934,
"delta": -0.1396,
"percent_delta": -0.4193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2638,
"delta": -0.0692,
"percent_delta": -0.2079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3516,
"delta": 0.0186,
"percent_delta": 0.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3516,
"delta": 0.0186,
"percent_delta": 0.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1934,
"delta": -0.1396,
"percent_delta": -0.4193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.828,
"after": 4.0,
"delta": 1.172,
"percent_delta": 0.4144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.1934,
"delta": -0.0216,
"percent_delta": -0.1005,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.281,
"after": 0.0,
"delta": -0.281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.609,
"after": 0.0,
"delta": -0.609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_OBP",
"before": 0.286,
"after": 0.2638,
"delta": -0.0222,
"percent_delta": -0.0776,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.391,
"after": 0.0,
"delta": -0.391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3516,
"delta": -0.0354,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.031,
"after": 1.0,
"delta": -0.031,
"percent_delta": -0.0301,
"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.828,
"after": 4.0,
"delta": 1.172,
"percent_delta": 0.4144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.609,
"after": 0.0,
"delta": -0.609,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.094 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 2.828 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.281 | - |
| predicted_H | 0.609 | - |
| predicted_HR | 0.109 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.391 | - |
| predicted_RBI | 0.312 | - |
| predicted_SLG | 0.387 | - |
| predicted_SO | 1.031 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.085 | -0.009 |
| predicted_3B | 0.033 | 0.002 |
| predicted_AB | 2.905 | 0.077 |
| predicted_AVG | 0.193 | -0.022 |
| predicted_BB | 0.277 | -0.004 |
| predicted_H | 0.559 | -0.050 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.102 | -0.007 |
| predicted_OBP | 0.266 | -0.020 |
| predicted_R | 0.362 | -0.029 |
| predicted_RBI | 0.283 | -0.029 |
| predicted_SLG | 0.352 | -0.035 |
| predicted_SO | 1.124 | 0.093 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.085 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 2.905 | 0.000 |
| predicted_AVG | 0.193 | 0.000 |
| predicted_BB | 0.278 | 0.001 |
| predicted_H | 0.562 | 0.003 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.103 | 0.001 |
| predicted_OBP | 0.264 | -0.002 |
| predicted_R | 0.365 | 0.003 |
| predicted_RBI | 0.285 | 0.002 |
| predicted_SLG | 0.352 | 0.000 |
| predicted_SO | 1.120 | -0.003 |
AB rounded to 3 (raw=2.90), rates preserved: AVG=0.193 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.085 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 3.000 | 0.095 |
| predicted_AVG | 0.333 | 0.140 |
| predicted_BB | 0.000 | -0.278 |
| predicted_H | 1.000 | 0.438 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.333 | 0.069 |
| predicted_R | 0.000 | -0.365 |
| predicted_RBI | 0.000 | -0.285 |
| predicted_SLG | 0.333 | -0.019 |
| predicted_SO | 1.000 | -0.120 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 10.000 | 0.0000 | 0.0625 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0667 | 0.6667 |
| last_10 | 0.20 | 10 | - | 30.000 | 3.000 | 0.000 | 1.000 | 1.000 | 1.000 | 3.000 | 3.000 | 14.000 | 0.1000 | 0.1818 | 0.2667 | 0.1000 | 0.0333 | 0.0333 | 0.1000 | 0.4667 |
| season | 0.60 | 64 | - | 181.000 | 39.000 | 6.000 | 2.000 | 7.000 | 20.000 | 25.000 | 18.000 | 66.000 | 0.2155 | 0.2970 | 0.3867 | 0.2155 | 0.0387 | 0.1105 | 0.0994 | 0.3646 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0710 |
| predicted_3B | 0.0360 |
| predicted_AB | 3.0140 |
| predicted_AVG | 0.1621 |
| predicted_BB | 0.2710 |
| predicted_H | 0.4880 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.2372 |
| predicted_R | 0.3210 |
| predicted_RBI | 0.2410 |
| predicted_SLG | 0.3012 |
| predicted_SO | 1.2560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0940 | 0.0710 | 0.0845 | model_form_blend |
| predicted_3B | 0.0310 | 0.0360 | 0.0331 | model_form_blend |
| predicted_AB | 2.8280 | 3.0140 | 2.9047 | model_form_blend |
| predicted_AVG | 0.2150 | 0.1621 | 0.1932 | model_form_blend |
| predicted_BB | 0.2810 | 0.2710 | 0.2769 | model_form_blend |
| predicted_H | 0.6090 | 0.4880 | 0.5591 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.1090 | 0.0920 | 0.1020 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2372 | 0.2659 | model_form_blend |
| predicted_R | 0.3910 | 0.3210 | 0.3621 | model_form_blend |
| predicted_RBI | 0.3120 | 0.2410 | 0.2827 | model_form_blend |
| predicted_SLG | 0.3870 | 0.3012 | 0.3516 | model_form_blend |
| predicted_SO | 1.0310 | 1.2560 | 1.1237 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 208 |
| Season rows before report date | 208 |
| Report year | 2026 |
| Profile rows used | 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.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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF-LF |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 666211 |
| playerID | 666211 |
| playerName | Taylor Trammell |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.305 |
| sl_xwoba | 0.302 |
| sl_xba | 0.2 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 12.9 |
| sl_hard_hit_percent | 37.1 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 40.4 |
| sl_swing_percent | 48.0 |
| at_bat_number | 56.0 |
| ab_pitcher | 642048.0 |
| ab_pitcher_name | Saucedo, Tayler |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Taylor Trammell flies out to left fielder Jose Siri. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 77.5 |
| ab_launch_angle_last | 52.0 |
| ab_hit_distance_last | 206.0 |
| ab_estimated_ba_last | 0.051 |
| ab_estimated_woba_last | 0.051 |
| ab_estimated_slg_last | 0.078 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 87.41666666666667 |
| ab_release_spin_rate_avg | 2448.5 |
| ab_effective_speed_avg | 87.7 |
| ab_launch_speed_avg | 77.5 |
| ab_launch_angle_avg | 52.0 |
| ab_delta_run_exp_avg | -0.0433333333333333 |
| ab_delta_home_win_exp_avg | -0.0031666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0433333333333333 |
| ab_bat_speed_avg | 40.95 |
| ab_swing_length_avg | 4.5 |
| ab_launch_speed_max | 77.5 |
| ab_hit_distance_sc_max | 206.0 |
| ab_release_speed_max | 93.6 |
| ab_release_spin_rate_max | 2515.0 |
| ab_release_speed_min | 82.3 |
| ab_release_spin_rate_min | 2380.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.019 |
| ab_delta_pitcher_run_exp_sum | 0.26 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.181 | 1.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.629 | 4.000 | 4.000 | Hitting_AB | 3.655 | 0.000 | 0.345 | 4.000 |
| predicted_AVG | 0.213 | 0.250 | 0.250 | Hitting_AVG | 0.129 | - | 0.121 | - |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.400 | 1.000 | 1.000 | Hitting_H | 0.473 | 0.000 | 0.527 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_OBP | 0.228 | 0.250 | 0.250 | Hitting_OBP | 0.232 | - | 0.018 | - |
| predicted_R | 0.390 | 0.000 | 0.000 | Hitting_R | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_SLG | 0.309 | 0.500 | 0.250 | Hitting_SLG | 0.174 | - | 0.326 | - |
| predicted_SO | 0.790 | 0.000 | 1.000 | Hitting_SO | 0.927 | 0.000 | -0.927 | 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_2B: 0.1810 -> 1.0000 (boost 0.8190, better) |
| Biggest Deboost | predicted_SO: 0.7900 -> 0.0000 (deboost -0.7900, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_H: 0.4000 -> 0.5222 (boost 0.1222, better) | predicted_SLG: 0.3090 -> 0.2954 (deboost -0.0136, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2000 -> 0.1427 (deboost -0.0573, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.5247 -> 1.0000 (boost 0.4753, better) | predicted_BB: 0.3042 -> 0.0000 (deboost -0.3042, worse) | AB rounded to 4 (raw=3.68), rates preserved: AVG=0.143 HR/AB=0.016 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3673 -> 0.0000 (deboost -0.3673, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1427 -> 0.2500 (boost 0.1073, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2500 -> 0.1427 (deboost -0.1073, 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": "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.181,
"predicted_3B": 0.019,
"predicted_AB": 3.629,
"predicted_AVG": 0.213,
"predicted_BB": 0.324,
"predicted_H": 0.4,
"predicted_HR": 0.05,
"predicted_OBP": 0.228,
"predicted_R": 0.39,
"predicted_RBI": 0.16,
"predicted_SLG": 0.309,
"predicted_SO": 0.79
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.153,
"predicted_3B": 0.016,
"predicted_AB": 3.6772,
"predicted_AVG": 0.2,
"predicted_BB": 0.3033,
"predicted_H": 0.5222,
"predicted_HBP": 0.013,
"predicted_HR": 0.059,
"predicted_OBP": 0.2331,
"predicted_R": 0.3642,
"predicted_RBI": 0.2121,
"predicted_SLG": 0.2954,
"predicted_SO": 0.8317
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.153,
"delta": -0.028,
"percent_delta": -0.1547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.016,
"delta": -0.003,
"percent_delta": -0.1579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.629,
"after": 3.6772,
"delta": 0.0482,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2,
"delta": -0.013,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.3033,
"delta": -0.0207,
"percent_delta": -0.0639,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4,
"after": 0.5222,
"delta": 0.1222,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.059,
"delta": 0.009,
"percent_delta": 0.18,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.228,
"after": 0.2331,
"delta": 0.0051,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 0.3642,
"delta": -0.0258,
"percent_delta": -0.0662,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.2121,
"delta": 0.0521,
"percent_delta": 0.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.2954,
"delta": -0.0136,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.79,
"after": 0.8317,
"delta": 0.0417,
"percent_delta": 0.0528,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4,
"after": 0.5222,
"delta": 0.1222,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.2954,
"delta": -0.0136,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 105
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.153,
"predicted_3B": 0.016,
"predicted_AB": 3.6772,
"predicted_AVG": 0.1427,
"predicted_BB": 0.3042,
"predicted_H": 0.5247,
"predicted_HBP": 0.013,
"predicted_HR": 0.0596,
"predicted_OBP": 0.2082,
"predicted_R": 0.3673,
"predicted_RBI": 0.2139,
"predicted_SLG": 0.2416,
"predicted_SO": 0.8293
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.153,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6772,
"after": 3.6772,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1427,
"delta": -0.0573,
"percent_delta": -0.2865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3033,
"after": 0.3042,
"delta": 0.0009,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5222,
"after": 0.5247,
"delta": 0.0025,
"percent_delta": 0.0048,
"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.059,
"after": 0.0596,
"delta": 0.0006,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2331,
"after": 0.2082,
"delta": -0.0249,
"percent_delta": -0.1068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3642,
"after": 0.3673,
"delta": 0.0031,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2121,
"after": 0.2139,
"delta": 0.0018,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2954,
"after": 0.2416,
"delta": -0.0538,
"percent_delta": -0.1821,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8317,
"after": 0.8293,
"delta": -0.0024,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1427,
"delta": -0.0573,
"percent_delta": -0.2865,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.68), rates preserved: AVG=0.143 HR/AB=0.016",
"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.153,
"after": 0.0,
"delta": -0.153,
"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.6772,
"after": 4.0,
"delta": 0.3228,
"percent_delta": 0.0878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3042,
"after": 0.0,
"delta": -0.3042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5247,
"after": 1.0,
"delta": 0.4753,
"percent_delta": 0.9059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0596,
"after": 0.0,
"delta": -0.0596,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2139,
"after": 0.0,
"delta": -0.2139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8293,
"after": 1.0,
"delta": 0.1707,
"percent_delta": 0.2058,
"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.5247,
"after": 1.0,
"delta": 0.4753,
"percent_delta": 0.9059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3042,
"after": 0.0,
"delta": -0.3042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3673,
"after": 0.0,
"delta": -0.3673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3673,
"after": 0.0,
"delta": -0.3673,
"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.1427,
"after": 0.25,
"delta": 0.1073,
"percent_delta": 0.7519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2082,
"after": 0.25,
"delta": 0.0418,
"percent_delta": 0.2008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2416,
"after": 0.25,
"delta": 0.0084,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1427,
"after": 0.25,
"delta": 0.1073,
"percent_delta": 0.7519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_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": 4.0,
"predicted_AVG": 0.1427,
"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.2082,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2416,
"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.1427,
"delta": -0.1073,
"percent_delta": -0.4293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2082,
"delta": -0.0418,
"percent_delta": -0.1673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2416,
"delta": -0.0084,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1427,
"delta": -0.1073,
"percent_delta": -0.4293,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.819,
"percent_delta": 4.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.629,
"after": 4.0,
"delta": 0.371,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.1427,
"delta": -0.0703,
"percent_delta": -0.33,
"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.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.228,
"after": 0.2082,
"delta": -0.0198,
"percent_delta": -0.0868,
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.2416,
"delta": -0.0674,
"percent_delta": -0.2181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"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.181,
"after": 1.0,
"delta": 0.819,
"percent_delta": 4.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.629 | - |
| predicted_AVG | 0.213 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 0.400 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.228 | - |
| predicted_R | 0.390 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.309 | - |
| predicted_SO | 0.790 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.028 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 3.677 | 0.048 |
| predicted_AVG | 0.200 | -0.013 |
| predicted_BB | 0.303 | -0.021 |
| predicted_H | 0.522 | 0.122 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.059 | 0.009 |
| predicted_OBP | 0.233 | 0.005 |
| predicted_R | 0.364 | -0.026 |
| predicted_RBI | 0.212 | 0.052 |
| predicted_SLG | 0.295 | -0.014 |
| predicted_SO | 0.832 | 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.153 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 3.677 | 0.000 |
| predicted_AVG | 0.143 | -0.057 |
| predicted_BB | 0.304 | 0.001 |
| predicted_H | 0.525 | 0.003 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.060 | 0.001 |
| predicted_OBP | 0.208 | -0.025 |
| predicted_R | 0.367 | 0.003 |
| predicted_RBI | 0.214 | 0.002 |
| predicted_SLG | 0.242 | -0.054 |
| predicted_SO | 0.829 | -0.002 |
AB rounded to 4 (raw=3.68), rates preserved: AVG=0.143 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.153 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | 0.323 |
| predicted_AVG | 0.250 | 0.107 |
| predicted_BB | 0.000 | -0.304 |
| predicted_H | 1.000 | 0.475 |
| predicted_HR | 0.000 | -0.060 |
| predicted_OBP | 0.250 | 0.042 |
| predicted_R | 0.000 | -0.367 |
| predicted_RBI | 0.000 | -0.214 |
| predicted_SLG | 0.250 | 0.008 |
| predicted_SO | 1.000 | 0.171 |
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 | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 6.000 | 0.1000 | 0.1429 | 0.1000 | 0.1000 | 0.0000 | 0.0500 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 38.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 9.000 | 0.1053 | 0.1500 | 0.1842 | 0.1053 | 0.0263 | 0.0790 | 0.0526 | 0.2368 |
| season | 0.60 | 105 | - | 381.000 | 87.000 | 19.000 | 2.000 | 8.000 | 29.000 | 41.000 | 34.000 | 83.000 | 0.2283 | 0.2943 | 0.3517 | 0.2283 | 0.0210 | 0.0761 | 0.0892 | 0.2178 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7410 |
| predicted_AVG | 0.1827 |
| predicted_BB | 0.2760 |
| predicted_H | 0.6840 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0710 |
| predicted_OBP | 0.2399 |
| predicted_R | 0.3300 |
| predicted_RBI | 0.2810 |
| predicted_SLG | 0.2773 |
| predicted_SO | 0.8870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.1160 | 0.1530 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0160 | model_form_blend |
| predicted_AB | 3.6290 | 3.7410 | 3.6772 | model_form_blend |
| predicted_AVG | 0.2130 | 0.1827 | 0.2000 | model_form_blend |
| predicted_BB | 0.3240 | 0.2760 | 0.3033 | model_form_blend |
| predicted_H | 0.4000 | 0.6840 | 0.5222 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0500 | 0.0710 | 0.0590 | model_form_blend |
| predicted_OBP | 0.2280 | 0.2399 | 0.2331 | model_form_blend |
| predicted_R | 0.3900 | 0.3300 | 0.3642 | model_form_blend |
| predicted_RBI | 0.1600 | 0.2810 | 0.2121 | model_form_blend |
| predicted_SLG | 0.3090 | 0.2773 | 0.2954 | model_form_blend |
| predicted_SO | 0.7900 | 0.8870 | 0.8317 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 55 |
| Season rows before report date | 55 |
| Report year | 2026 |
| Profile rows used | 105 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.228 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | 20260819_LAA@HOU |
| game_type | short |
| mlbID | 662139 |
| playerID | 662139 |
| playerName | Daulton Varsho |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.287 |
| sl_xwoba | 0.289 |
| sl_xba | 0.232 |
| sl_xslg | 0.354 |
| sl_sweet_spot_percent | 33.4 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 37.8 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 52.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.880 | 4.000 | 4.000 | Hitting_AB | 3.773 | 3.000 | 0.227 | 1.000 |
| predicted_AVG | 0.276 | 0.000 | 0.250 | Hitting_AVG | 0.260 | 0.333 | -0.260 | -0.333 |
| predicted_BB | 0.412 | 0.000 | 0.000 | Hitting_BB | 0.436 | 1.000 | -0.436 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.070 | 0.000 | 1.000 | Hitting_H | 0.982 | 1.000 | -0.982 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_OBP | 0.371 | 0.000 | 0.250 | Hitting_OBP | 0.356 | 0.500 | -0.356 | -0.500 |
| predicted_R | 0.395 | 0.000 | 0.000 | Hitting_R | 0.430 | 1.000 | -0.430 | -1.000 |
| predicted_RBI | 0.660 | 0.000 | 1.000 | Hitting_RBI | 0.604 | 0.000 | -0.604 | 0.000 |
| predicted_SLG | 0.404 | 0.000 | 0.250 | Hitting_SLG | 0.423 | 0.333 | -0.423 | -0.333 |
| predicted_SO | 0.580 | 3.000 | 0.000 | Hitting_SO | 0.590 | 0.000 | 2.410 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.5800 -> 3.0000 (boost 2.4200, worse) |
| Biggest Deboost | predicted_H: 1.0700 -> 0.0000 (deboost -1.0700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_SLG: 0.4040 -> 0.4283 (boost 0.0243, better) | predicted_AB: 3.8800 -> 3.7608 (deboost -0.1192, worse) | Final model input calibrated with local 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.4283 -> 0.4379 (boost 0.0096, better) | predicted_OBP: 0.3805 -> 0.3593 (deboost -0.0212, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.4954 -> 1.0000 (boost 0.5046, worse) | predicted_BB: 0.4253 -> 0.0000 (deboost -0.4253, worse) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.278 HR/AB=0.034 |
| 5 | bvp_blend | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3935 -> 0.0000 (deboost -0.3935, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4379 -> 0.2500 (deboost -0.1879, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.0000 -> 3.0000 (boost 3.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4379 (boost 0.1879, 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.176,
"predicted_3B": 0.008,
"predicted_AB": 3.88,
"predicted_AVG": 0.276,
"predicted_BB": 0.412,
"predicted_H": 1.07,
"predicted_HR": 0.12,
"predicted_OBP": 0.371,
"predicted_R": 0.395,
"predicted_RBI": 0.66,
"predicted_SLG": 0.404,
"predicted_SO": 0.58
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.0071,
"predicted_AB": 3.7608,
"predicted_AVG": 0.286,
"predicted_BB": 0.4241,
"predicted_H": 1.0735,
"predicted_HBP": 0.14,
"predicted_HR": 0.1291,
"predicted_OBP": 0.3805,
"predicted_R": 0.3902,
"predicted_RBI": 0.6656,
"predicted_SLG": 0.4283,
"predicted_SO": 0.4968
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.163,
"delta": -0.013,
"percent_delta": -0.0739,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0071,
"delta": -0.0009,
"percent_delta": -0.1125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 3.7608,
"delta": -0.1192,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.286,
"delta": 0.01,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.4241,
"delta": 0.0121,
"percent_delta": 0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0735,
"delta": 0.0035,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1291,
"delta": 0.0091,
"percent_delta": 0.0758,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3805,
"delta": 0.0095,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 0.3902,
"delta": -0.0048,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.6656,
"delta": 0.0056,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4283,
"delta": 0.0243,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.58,
"after": 0.4968,
"delta": -0.0832,
"percent_delta": -0.1434,
"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.404,
"after": 0.4283,
"delta": 0.0243,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 3.7608,
"delta": -0.1192,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 119
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.0071,
"predicted_AB": 3.7608,
"predicted_AVG": 0.2868,
"predicted_BB": 0.4253,
"predicted_H": 1.0785,
"predicted_HBP": 0.14,
"predicted_HR": 0.1303,
"predicted_OBP": 0.3593,
"predicted_R": 0.3935,
"predicted_RBI": 0.6712,
"predicted_SLG": 0.4379,
"predicted_SO": 0.4954
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.163,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0071,
"after": 0.0071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7608,
"after": 3.7608,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2868,
"delta": 0.0008,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4241,
"after": 0.4253,
"delta": 0.0012,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0735,
"after": 1.0785,
"delta": 0.005,
"percent_delta": 0.0047,
"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.1291,
"after": 0.1303,
"delta": 0.0012,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3805,
"after": 0.3593,
"delta": -0.0212,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3902,
"after": 0.3935,
"delta": 0.0033,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6656,
"after": 0.6712,
"delta": 0.0056,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4283,
"after": 0.4379,
"delta": 0.0096,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4968,
"after": 0.4954,
"delta": -0.0014,
"percent_delta": -0.0028,
"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.4283,
"after": 0.4379,
"delta": 0.0096,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3805,
"after": 0.3593,
"delta": -0.0212,
"percent_delta": -0.0557,
"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.278 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.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0071,
"after": 0.0,
"delta": -0.0071,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7608,
"after": 4.0,
"delta": 0.2392,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4253,
"after": 0.0,
"delta": -0.4253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1303,
"after": 0.0,
"delta": -0.1303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6712,
"after": 1.0,
"delta": 0.3288,
"percent_delta": 0.4899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4954,
"after": 1.0,
"delta": 0.5046,
"percent_delta": 1.0186,
"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.4954,
"after": 1.0,
"delta": 0.5046,
"percent_delta": 1.0186,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4253,
"after": 0.0,
"delta": -0.4253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3935,
"after": 0.0,
"delta": -0.3935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3935,
"after": 0.0,
"delta": -0.3935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2868,
"after": 0.25,
"delta": -0.0368,
"percent_delta": -0.1283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3593,
"after": 0.25,
"delta": -0.1093,
"percent_delta": -0.3042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4379,
"after": 0.25,
"delta": -0.1879,
"percent_delta": -0.4291,
"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.4379,
"after": 0.25,
"delta": -0.1879,
"percent_delta": -0.4291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 3.0,
"delta": 3.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": 3.0,
"delta": 3.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": 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.2868,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3593,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4379,
"predicted_SO": 3.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2868,
"delta": 0.0368,
"percent_delta": 0.1471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3593,
"delta": 0.1093,
"percent_delta": 0.437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4379,
"delta": 0.1879,
"percent_delta": 0.7515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4379,
"delta": 0.1879,
"percent_delta": 0.7515,
"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.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 4.0,
"delta": 0.12,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2868,
"delta": 0.0108,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"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.371,
"after": 0.3593,
"delta": -0.0117,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4379,
"delta": 0.0339,
"percent_delta": 0.0839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.58,
"after": 3.0,
"delta": 2.42,
"percent_delta": 4.1724,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.58,
"after": 3.0,
"delta": 2.42,
"percent_delta": 4.1724,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.371 | - |
| predicted_R | 0.395 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 0.580 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | -0.013 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.761 | -0.119 |
| predicted_AVG | 0.286 | 0.010 |
| predicted_BB | 0.424 | 0.012 |
| predicted_H | 1.073 | 0.003 |
| predicted_HBP | 0.140 | - |
| predicted_HR | 0.129 | 0.009 |
| predicted_OBP | 0.381 | 0.010 |
| predicted_R | 0.390 | -0.005 |
| predicted_RBI | 0.666 | 0.006 |
| predicted_SLG | 0.428 | 0.024 |
| predicted_SO | 0.497 | -0.083 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.761 | 0.000 |
| predicted_AVG | 0.287 | 0.001 |
| predicted_BB | 0.425 | 0.001 |
| predicted_H | 1.079 | 0.005 |
| predicted_HBP | 0.140 | 0.000 |
| predicted_HR | 0.130 | 0.001 |
| predicted_OBP | 0.359 | -0.021 |
| predicted_R | 0.394 | 0.003 |
| predicted_RBI | 0.671 | 0.006 |
| predicted_SLG | 0.438 | 0.010 |
| predicted_SO | 0.495 | -0.001 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.278 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.273)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.000 | -1.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.163 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.239 |
| predicted_AVG | 0.250 | -0.037 |
| predicted_BB | 0.000 | -0.425 |
| predicted_H | 1.000 | -0.079 |
| predicted_HR | 0.000 | -0.130 |
| predicted_OBP | 0.250 | -0.109 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 1.000 | 0.329 |
| predicted_SLG | 0.250 | -0.188 |
| predicted_SO | 0.000 | -0.495 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 3.000 | 3.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 7.000 | 0.000 | 0.000 | 1.000 | 5.000 | 2.000 | 3.000 | 0.000 | 0.4118 | 0.5238 | 0.5882 | 0.4118 | 0.0588 | 0.2941 | 0.1765 | 0.0000 |
| last_10 | 0.20 | 10 | - | 36.000 | 12.000 | 2.000 | 0.000 | 1.000 | 7.000 | 3.000 | 4.000 | 1.000 | 0.3333 | 0.4146 | 0.4722 | 0.3333 | 0.0278 | 0.1944 | 0.1111 | 0.0278 |
| season | 0.60 | 119 | - | 435.000 | 111.000 | 21.000 | 1.000 | 16.000 | 67.000 | 47.000 | 49.000 | 69.000 | 0.2552 | 0.3505 | 0.4184 | 0.2552 | 0.0368 | 0.1540 | 0.1126 | 0.1586 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.6050 |
| predicted_AVG | 0.2991 |
| predicted_BB | 0.4400 |
| predicted_H | 1.0780 |
| predicted_HBP | 0.1400 |
| predicted_HR | 0.1410 |
| predicted_OBP | 0.3928 |
| predicted_R | 0.3840 |
| predicted_RBI | 0.6730 |
| predicted_SLG | 0.4600 |
| predicted_SO | 0.3880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1460 | 0.1630 | model_form_blend |
| predicted_3B | 0.0080 | 0.0060 | 0.0071 | model_form_blend |
| predicted_AB | 3.8800 | 3.6050 | 3.7608 | model_form_blend |
| predicted_AVG | 0.2760 | 0.2991 | 0.2860 | model_form_blend |
| predicted_BB | 0.4120 | 0.4400 | 0.4241 | model_form_blend |
| predicted_H | 1.0700 | 1.0780 | 1.0735 | model_form_blend |
| predicted_HBP | - | 0.1400 | 0.1400 | form_only |
| predicted_HR | 0.1200 | 0.1410 | 0.1291 | model_form_blend |
| predicted_OBP | 0.3710 | 0.3928 | 0.3805 | model_form_blend |
| predicted_R | 0.3950 | 0.3840 | 0.3902 | model_form_blend |
| predicted_RBI | 0.6600 | 0.6730 | 0.6656 | model_form_blend |
| predicted_SLG | 0.4040 | 0.4600 | 0.4283 | model_form_blend |
| predicted_SO | 0.5800 | 0.3880 | 0.4968 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 507 |
| Season rows before report date | 507 |
| Report year | 2026 |
| Profile rows used | 119 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.255 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.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 | 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 | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 670623 |
| playerID | 670623 |
| playerName | Isaac Paredes |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 13.6 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.344 |
| sl_xwoba | 0.325 |
| sl_xba | 0.251 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 28.6 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 23.5 |
| sl_whiff_percent | 15.4 |
| sl_swing_percent | 43.7 |
| at_bat_number | 63.0 |
| ab_pitcher | 684665.0 |
| ab_pitcher_name | Murphy, Luke |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Isaac Paredes pops out to first baseman Nolan Schanuel. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 64.3 |
| ab_launch_angle_last | 78.0 |
| ab_hit_distance_last | 41.0 |
| ab_estimated_ba_last | 0.006 |
| ab_estimated_woba_last | 0.005 |
| ab_estimated_slg_last | 0.006 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 90.24 |
| ab_release_spin_rate_avg | 2319.4 |
| ab_effective_speed_avg | 89.9 |
| ab_launch_speed_avg | 64.3 |
| ab_launch_angle_avg | 78.0 |
| ab_delta_run_exp_avg | -0.0524 |
| ab_delta_home_win_exp_avg | -0.002 |
| ab_delta_pitcher_run_exp_avg | 0.0524 |
| ab_bat_speed_avg | 59.5 |
| ab_swing_length_avg | 6.4 |
| ab_launch_speed_max | 64.3 |
| ab_hit_distance_sc_max | 41.0 |
| ab_release_speed_max | 95.9 |
| ab_release_spin_rate_max | 2403.0 |
| ab_release_speed_min | 82.2 |
| ab_release_spin_rate_min | 2198.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.01 |
| ab_delta_pitcher_run_exp_sum | 0.262 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.160 | 0.000 | 0.000 | Hitting_2B | 0.174 | 1.000 | -0.174 | -1.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 4.550 | 4.000 | 5.000 | Hitting_AB | 3.995 | 4.000 | 0.005 | 0.000 |
| predicted_AVG | 0.252 | 0.500 | 0.200 | Hitting_AVG | 0.253 | 0.250 | 0.247 | 0.250 |
| predicted_BB | 0.350 | 0.000 | 0.000 | Hitting_BB | 0.364 | 0.000 | -0.364 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 1.150 | 2.000 | 1.000 | Hitting_H | 1.009 | 1.000 | 0.991 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.320 | 0.500 | 0.200 | Hitting_OBP | 0.315 | 0.250 | 0.185 | 0.250 |
| predicted_R | 0.560 | 0.000 | 1.000 | Hitting_R | 0.608 | 0.000 | -0.608 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.390 | 1.000 | -0.390 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_SLG | 0.399 | 0.500 | 0.200 | Hitting_SLG | 0.409 | 0.500 | 0.091 | 0.000 |
| predicted_SO | 0.870 | 0.000 | 1.000 | Hitting_SO | 0.858 | 1.000 | -0.858 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 1.1500 -> 2.0000 (boost 0.8500, better) |
| Biggest Deboost | predicted_SO: 0.8700 -> 0.0000 (deboost -0.8700, 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.3990 -> 0.4152 (boost 0.0162, better) | predicted_AB: 4.5500 -> 4.2510 (deboost -0.2990, worse) | Final model input calibrated with local 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.4152 -> 0.4016 (deboost -0.0136, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 4.2510 -> 5.0000 (boost 0.7490, better) | predicted_RBI: 0.4215 -> 0.0000 (deboost -0.4215, worse) | AB rounded to 5 (raw=4.55), rates preserved: AVG=0.246 HR/AB=0.025 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5282 -> 1.0000 (boost 0.4718, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4016 -> 0.2000 (deboost -0.2016, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.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.2000 -> 0.4016 (boost 0.2016, better) | - | 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.16,
"predicted_3B": 0.02,
"predicted_AB": 4.55,
"predicted_AVG": 0.252,
"predicted_BB": 0.35,
"predicted_H": 1.15,
"predicted_HR": 0.12,
"predicted_OBP": 0.32,
"predicted_R": 0.56,
"predicted_RBI": 0.44,
"predicted_SLG": 0.399,
"predicted_SO": 0.87
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1673,
"predicted_3B": 0.0411,
"predicted_AB": 4.251,
"predicted_AVG": 0.2629,
"predicted_BB": 0.3556,
"predicted_H": 1.1151,
"predicted_HBP": 0.008,
"predicted_HR": 0.1114,
"predicted_OBP": 0.3278,
"predicted_R": 0.5238,
"predicted_RBI": 0.418,
"predicted_SLG": 0.4152,
"predicted_SO": 0.8661
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1673,
"delta": 0.0073,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0411,
"delta": 0.0211,
"percent_delta": 1.055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.55,
"after": 4.251,
"delta": -0.299,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2629,
"delta": 0.0109,
"percent_delta": 0.0433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.35,
"after": 0.3556,
"delta": 0.0056,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.1151,
"delta": -0.0349,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1114,
"delta": -0.0086,
"percent_delta": -0.0717,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3278,
"delta": 0.0078,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.56,
"after": 0.5238,
"delta": -0.0362,
"percent_delta": -0.0646,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.418,
"delta": -0.022,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.4152,
"delta": 0.0162,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.87,
"after": 0.8661,
"delta": -0.0039,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.4152,
"delta": 0.0162,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.55,
"after": 4.251,
"delta": -0.299,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 100
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1673,
"predicted_3B": 0.0411,
"predicted_AB": 4.251,
"predicted_AVG": 0.2635,
"predicted_BB": 0.3566,
"predicted_H": 1.1203,
"predicted_HBP": 0.008,
"predicted_HR": 0.1125,
"predicted_OBP": 0.3205,
"predicted_R": 0.5282,
"predicted_RBI": 0.4215,
"predicted_SLG": 0.4016,
"predicted_SO": 0.8636
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1673,
"after": 0.1673,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0411,
"after": 0.0411,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.251,
"after": 4.251,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2629,
"after": 0.2635,
"delta": 0.0006,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3556,
"after": 0.3566,
"delta": 0.001,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1151,
"after": 1.1203,
"delta": 0.0052,
"percent_delta": 0.0047,
"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.1114,
"after": 0.1125,
"delta": 0.0011,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3278,
"after": 0.3205,
"delta": -0.0073,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5238,
"after": 0.5282,
"delta": 0.0044,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.418,
"after": 0.4215,
"delta": 0.0035,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4152,
"after": 0.4016,
"delta": -0.0136,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8661,
"after": 0.8636,
"delta": -0.0025,
"percent_delta": -0.0029,
"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.4152,
"after": 0.4016,
"delta": -0.0136,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.55), rates preserved: AVG=0.246 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1673,
"after": 0.0,
"delta": -0.1673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0411,
"after": 0.0,
"delta": -0.0411,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.251,
"after": 5.0,
"delta": 0.749,
"percent_delta": 0.1762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3566,
"after": 0.0,
"delta": -0.3566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1203,
"after": 1.0,
"delta": -0.1203,
"percent_delta": -0.1074,
"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.1125,
"after": 0.0,
"delta": -0.1125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4215,
"after": 0.0,
"delta": -0.4215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8636,
"after": 1.0,
"delta": 0.1364,
"percent_delta": 0.1579,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.251,
"after": 5.0,
"delta": 0.749,
"percent_delta": 0.1762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4215,
"after": 0.0,
"delta": -0.4215,
"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.300)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5282,
"after": 1.0,
"delta": 0.4718,
"percent_delta": 0.8932,
"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.5282,
"after": 1.0,
"delta": 0.4718,
"percent_delta": 0.8932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2635,
"after": 0.2,
"delta": -0.0635,
"percent_delta": -0.241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3205,
"after": 0.2,
"delta": -0.1205,
"percent_delta": -0.376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4016,
"after": 0.2,
"delta": -0.2016,
"percent_delta": -0.502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4016,
"after": 0.2,
"delta": -0.2016,
"percent_delta": -0.502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2635,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3205,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4016,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2635,
"delta": 0.0635,
"percent_delta": 0.3177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.3205,
"delta": 0.1205,
"percent_delta": 0.6027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4016,
"delta": 0.2016,
"percent_delta": 1.0081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4016,
"delta": 0.2016,
"percent_delta": 1.0081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.55,
"after": 4.0,
"delta": -0.55,
"percent_delta": -0.1209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2635,
"delta": 0.0115,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 2.0,
"delta": 0.85,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3205,
"delta": 0.0005,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"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.399,
"after": 0.4016,
"delta": 0.0026,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.15,
"after": 2.0,
"delta": 0.85,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.550 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.350 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.560 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.399 | - |
| predicted_SO | 0.870 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.007 |
| predicted_3B | 0.041 | 0.021 |
| predicted_AB | 4.251 | -0.299 |
| predicted_AVG | 0.263 | 0.011 |
| predicted_BB | 0.356 | 0.006 |
| predicted_H | 1.115 | -0.035 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.111 | -0.009 |
| predicted_OBP | 0.328 | 0.008 |
| predicted_R | 0.524 | -0.036 |
| predicted_RBI | 0.418 | -0.022 |
| predicted_SLG | 0.415 | 0.016 |
| predicted_SO | 0.866 | -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.167 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 4.251 | 0.000 |
| predicted_AVG | 0.264 | 0.001 |
| predicted_BB | 0.357 | 0.001 |
| predicted_H | 1.120 | 0.005 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.113 | 0.001 |
| predicted_OBP | 0.321 | -0.007 |
| predicted_R | 0.528 | 0.004 |
| predicted_RBI | 0.421 | 0.004 |
| predicted_SLG | 0.402 | -0.014 |
| predicted_SO | 0.864 | -0.002 |
AB rounded to 5 (raw=4.55), rates preserved: AVG=0.246 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.167 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 5.000 | 0.749 |
| predicted_AVG | 0.200 | -0.064 |
| predicted_BB | 0.000 | -0.357 |
| predicted_H | 1.000 | -0.120 |
| predicted_HR | 0.000 | -0.113 |
| predicted_OBP | 0.200 | -0.120 |
| predicted_R | 1.000 | 0.472 |
| predicted_RBI | 0.000 | -0.421 |
| predicted_SLG | 0.200 | -0.202 |
| predicted_SO | 1.000 | 0.136 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -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 | 1.000 | 0.000 | 2.000 | 2.000 | 2.000 | 5.000 | 0.3684 | 0.4286 | 0.5263 | 0.3684 | 0.0000 | 0.1053 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 1.000 | 1.000 | 4.000 | 3.000 | 4.000 | 7.000 | 0.2895 | 0.3488 | 0.4737 | 0.2895 | 0.0263 | 0.1053 | 0.1053 | 0.1842 |
| season | 0.60 | 100 | - | 390.000 | 96.000 | 16.000 | 2.000 | 13.000 | 37.000 | 56.000 | 35.000 | 87.000 | 0.2462 | 0.3084 | 0.3974 | 0.2462 | 0.0333 | 0.0949 | 0.0897 | 0.2231 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1770 |
| predicted_3B | 0.0690 |
| predicted_AB | 3.8560 |
| predicted_AVG | 0.2773 |
| predicted_BB | 0.3630 |
| predicted_H | 1.0690 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.3382 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.3890 |
| predicted_SLG | 0.4365 |
| predicted_SO | 0.8610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1770 | 0.1673 | model_form_blend |
| predicted_3B | 0.0200 | 0.0690 | 0.0411 | model_form_blend |
| predicted_AB | 4.5500 | 3.8560 | 4.2510 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2773 | 0.2629 | model_form_blend |
| predicted_BB | 0.3500 | 0.3630 | 0.3556 | model_form_blend |
| predicted_H | 1.1500 | 1.0690 | 1.1151 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1200 | 0.1000 | 0.1114 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3382 | 0.3278 | model_form_blend |
| predicted_R | 0.5600 | 0.4760 | 0.5238 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3890 | 0.4180 | model_form_blend |
| predicted_SLG | 0.3990 | 0.4365 | 0.4152 | model_form_blend |
| predicted_SO | 0.8700 | 0.8610 | 0.8661 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 431 |
| Season rows before report date | 431 |
| Report year | 2026 |
| Profile rows used | 100 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.246 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 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 | 2B |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 514888 |
| playerID | 514888 |
| playerName | Jose Altuve |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.311 |
| sl_xwoba | 0.277 |
| sl_xba | 0.224 |
| sl_xslg | 0.331 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 31.4 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 22.4 |
| sl_swing_percent | 47.9 |
| at_bat_number | 64.0 |
| ab_pitcher | 684665.0 |
| ab_pitcher_name | Murphy, Luke |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Jose Altuve pops out to first baseman Nolan Schanuel in foul territory. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 65.6 |
| ab_launch_angle_last | 72.0 |
| ab_hit_distance_last | 87.0 |
| ab_estimated_ba_last | 0.001 |
| ab_estimated_woba_last | 0.0 |
| ab_estimated_slg_last | 0.001 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 90.4 |
| ab_release_spin_rate_avg | 2327.0 |
| ab_effective_speed_avg | 90.5 |
| ab_launch_speed_avg | 65.6 |
| ab_launch_angle_avg | 72.0 |
| ab_delta_run_exp_avg | -0.259 |
| ab_delta_home_win_exp_avg | -0.008 |
| ab_delta_pitcher_run_exp_avg | 0.259 |
| ab_bat_speed_avg | 68.2 |
| ab_swing_length_avg | 6.4 |
| ab_launch_speed_max | 65.6 |
| ab_hit_distance_sc_max | 87.0 |
| ab_release_speed_max | 90.4 |
| ab_release_spin_rate_max | 2327.0 |
| ab_release_speed_min | 90.4 |
| ab_release_spin_rate_min | 2327.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | -0.008 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.130 | 0.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.522 | 2.000 | 4.000 | Hitting_AB | 3.588 | 2.000 | -1.588 | 0.000 |
| predicted_AVG | 0.205 | 0.000 | 0.250 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.296 | 1.000 | 0.000 | Hitting_BB | 0.314 | 0.000 | 0.686 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.826 | 0.000 | -0.826 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_OBP | 0.261 | 0.333 | 0.250 | Hitting_OBP | 0.299 | 0.000 | 0.034 | 0.333 |
| predicted_R | 0.470 | 0.000 | 0.000 | Hitting_R | 0.497 | 0.000 | -0.497 | 0.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.451 | 1.000 | -0.451 | -1.000 |
| predicted_SLG | 0.427 | 0.000 | 0.250 | Hitting_SLG | 0.415 | 0.000 | -0.415 | 0.000 |
| predicted_SO | 0.965 | 1.000 | 1.000 | Hitting_SO | 0.996 | 2.000 | 0.004 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.2960 -> 1.0000 (boost 0.7040, better) |
| Biggest Deboost | predicted_AB: 3.5220 -> 2.0000 (deboost -1.5220, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4270 -> 0.4434 (boost 0.0164, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4434 -> 0.4522 (boost 0.0088, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.4935 -> 4.0000 (boost 0.5065, better) | predicted_BB: 0.2623 -> 0.0000 (deboost -0.2623, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.207 HR/AB=0.061 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4961 -> 0.0000 (deboost -0.4961, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2084 -> 0.2500 (boost 0.0416, better) | predicted_SLG: 0.4522 -> 0.2500 (deboost -0.2022, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4522 (boost 0.2022, better) | predicted_AVG: 0.2500 -> 0.2084 (deboost -0.0416, 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.13,
"predicted_3B": 0.026,
"predicted_AB": 3.522,
"predicted_AVG": 0.205,
"predicted_BB": 0.296,
"predicted_H": 0.7,
"predicted_HR": 0.22,
"predicted_OBP": 0.261,
"predicted_R": 0.47,
"predicted_RBI": 0.55,
"predicted_SLG": 0.427,
"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.1093,
"predicted_3B": 0.0472,
"predicted_AB": 3.4935,
"predicted_AVG": 0.2111,
"predicted_BB": 0.2615,
"predicted_H": 0.7246,
"predicted_HBP": 0.031,
"predicted_HR": 0.214,
"predicted_OBP": 0.2632,
"predicted_R": 0.492,
"predicted_RBI": 0.5379,
"predicted_SLG": 0.4434,
"predicted_SO": 0.9516
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.1093,
"delta": -0.0207,
"percent_delta": -0.1592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0472,
"delta": 0.0212,
"percent_delta": 0.8154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.522,
"after": 3.4935,
"delta": -0.0285,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2111,
"delta": 0.0061,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 0.2615,
"delta": -0.0345,
"percent_delta": -0.1166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7246,
"delta": 0.0246,
"percent_delta": 0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.214,
"delta": -0.006,
"percent_delta": -0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2632,
"delta": 0.0022,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 0.492,
"delta": 0.022,
"percent_delta": 0.0468,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5379,
"delta": -0.0121,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4434,
"delta": 0.0164,
"percent_delta": 0.0384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 0.9516,
"delta": -0.0134,
"percent_delta": -0.0139,
"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.427,
"after": 0.4434,
"delta": 0.0164,
"percent_delta": 0.0384,
"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": 115
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1093,
"predicted_3B": 0.0472,
"predicted_AB": 3.4935,
"predicted_AVG": 0.2084,
"predicted_BB": 0.2623,
"predicted_H": 0.728,
"predicted_HBP": 0.031,
"predicted_HR": 0.2161,
"predicted_OBP": 0.2637,
"predicted_R": 0.4961,
"predicted_RBI": 0.5424,
"predicted_SLG": 0.4522,
"predicted_SO": 0.9488
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1093,
"after": 0.1093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0472,
"after": 0.0472,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4935,
"after": 3.4935,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2111,
"after": 0.2084,
"delta": -0.0027,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2615,
"after": 0.2623,
"delta": 0.0008,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7246,
"after": 0.728,
"delta": 0.0034,
"percent_delta": 0.0047,
"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.214,
"after": 0.2161,
"delta": 0.0021,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2632,
"after": 0.2637,
"delta": 0.0005,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.4961,
"delta": 0.0041,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5379,
"after": 0.5424,
"delta": 0.0045,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4434,
"after": 0.4522,
"delta": 0.0088,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9516,
"after": 0.9488,
"delta": -0.0028,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_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.4434,
"after": 0.4522,
"delta": 0.0088,
"percent_delta": 0.0198,
"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.52), rates preserved: AVG=0.207 HR/AB=0.061",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1093,
"after": 0.0,
"delta": -0.1093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0472,
"after": 0.0,
"delta": -0.0472,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4935,
"after": 4.0,
"delta": 0.5065,
"percent_delta": 0.145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2623,
"after": 0.0,
"delta": -0.2623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.728,
"after": 1.0,
"delta": 0.272,
"percent_delta": 0.3736,
"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.2161,
"after": 0.0,
"delta": -0.2161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5424,
"after": 1.0,
"delta": 0.4576,
"percent_delta": 0.8437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9488,
"after": 1.0,
"delta": 0.0512,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.4935,
"after": 4.0,
"delta": 0.5065,
"percent_delta": 0.145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2623,
"after": 0.0,
"delta": -0.2623,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4961,
"after": 0.0,
"delta": -0.4961,
"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.4961,
"after": 0.0,
"delta": -0.4961,
"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.2084,
"after": 0.25,
"delta": 0.0416,
"percent_delta": 0.1996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2637,
"after": 0.25,
"delta": -0.0137,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4522,
"after": 0.25,
"delta": -0.2022,
"percent_delta": -0.4471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.2084,
"after": 0.25,
"delta": 0.0416,
"percent_delta": 0.1996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4522,
"after": 0.25,
"delta": -0.2022,
"percent_delta": -0.4471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2084,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2637,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4522,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2084,
"delta": -0.0416,
"percent_delta": -0.1664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2637,
"delta": 0.0137,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4522,
"delta": 0.2022,
"percent_delta": 0.8089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4522,
"delta": 0.2022,
"percent_delta": 0.8089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2084,
"delta": -0.0416,
"percent_delta": -0.1664,
"direction": "deboost",
"projection_effect": "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.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.522,
"after": 2.0,
"delta": -1.522,
"percent_delta": -0.4321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2084,
"delta": 0.0034,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 1.0,
"delta": 0.704,
"percent_delta": 2.3784,
"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.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2637,
"delta": 0.0027,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"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.427,
"after": 0.4522,
"delta": 0.0252,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.965,
"after": 1.0,
"delta": 0.035,
"percent_delta": 0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.296,
"after": 1.0,
"delta": 0.704,
"percent_delta": 2.3784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.522,
"after": 2.0,
"delta": -1.522,
"percent_delta": -0.4321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.026 | - |
| predicted_AB | 3.522 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.296 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.470 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.427 | - |
| 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.109 | -0.021 |
| predicted_3B | 0.047 | 0.021 |
| predicted_AB | 3.494 | -0.028 |
| predicted_AVG | 0.211 | 0.006 |
| predicted_BB | 0.262 | -0.034 |
| predicted_H | 0.725 | 0.025 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.214 | -0.006 |
| predicted_OBP | 0.263 | 0.002 |
| predicted_R | 0.492 | 0.022 |
| predicted_RBI | 0.538 | -0.012 |
| predicted_SLG | 0.443 | 0.016 |
| predicted_SO | 0.952 | -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.109 | 0.000 |
| predicted_3B | 0.047 | 0.000 |
| predicted_AB | 3.494 | 0.000 |
| predicted_AVG | 0.208 | -0.003 |
| predicted_BB | 0.262 | 0.001 |
| predicted_H | 0.728 | 0.003 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.216 | 0.002 |
| predicted_OBP | 0.264 | 0.001 |
| predicted_R | 0.496 | 0.004 |
| predicted_RBI | 0.542 | 0.004 |
| predicted_SLG | 0.452 | 0.009 |
| predicted_SO | 0.949 | -0.003 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.207 HR/AB=0.061
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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.109 |
| predicted_3B | 0.000 | -0.047 |
| predicted_AB | 4.000 | 0.506 |
| predicted_AVG | 0.250 | 0.042 |
| predicted_BB | 0.000 | -0.262 |
| predicted_H | 1.000 | 0.272 |
| predicted_HR | 0.000 | -0.216 |
| predicted_OBP | 0.250 | -0.014 |
| predicted_R | 0.000 | -0.496 |
| predicted_RBI | 1.000 | 0.458 |
| predicted_SLG | 0.250 | -0.202 |
| predicted_SO | 1.000 | 0.051 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 0.000 | 4.000 | 0.1250 | 0.1250 | 0.4375 | 0.1250 | 0.0625 | 0.1875 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 0.000 | 1.000 | 4.000 | 8.000 | 8.000 | 2.000 | 10.000 | 0.2941 | 0.3243 | 0.7059 | 0.2941 | 0.1177 | 0.2353 | 0.0588 | 0.2941 |
| season | 0.60 | 115 | - | 405.000 | 90.000 | 15.000 | 3.000 | 17.000 | 46.000 | 54.000 | 34.000 | 111.000 | 0.2222 | 0.2895 | 0.4000 | 0.2222 | 0.0420 | 0.1136 | 0.0839 | 0.2741 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0820 |
| predicted_3B | 0.0750 |
| predicted_AB | 3.4560 |
| predicted_AVG | 0.2191 |
| predicted_BB | 0.2160 |
| predicted_H | 0.7570 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.2060 |
| predicted_OBP | 0.2662 |
| predicted_R | 0.5210 |
| predicted_RBI | 0.5220 |
| predicted_SLG | 0.4649 |
| predicted_SO | 0.9340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.0820 | 0.1093 | model_form_blend |
| predicted_3B | 0.0260 | 0.0750 | 0.0472 | model_form_blend |
| predicted_AB | 3.5220 | 3.4560 | 3.4935 | model_form_blend |
| predicted_AVG | 0.2050 | 0.2191 | 0.2111 | model_form_blend |
| predicted_BB | 0.2960 | 0.2160 | 0.2615 | model_form_blend |
| predicted_H | 0.7000 | 0.7570 | 0.7246 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.2200 | 0.2060 | 0.2140 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2662 | 0.2632 | model_form_blend |
| predicted_R | 0.4700 | 0.5210 | 0.4920 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5220 | 0.5379 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4649 | 0.4434 | model_form_blend |
| predicted_SO | 0.9650 | 0.9340 | 0.9516 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 459 |
| Season rows before report date | 459 |
| Report year | 2026 |
| Profile rows used | 115 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 701358 |
| playerID | 701358 |
| playerName | Cam Smith |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.302 |
| sl_xwoba | 0.328 |
| sl_xba | 0.246 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 48.6 |
| at_bat_number | 50.0 |
| ab_pitcher | 605242.0 |
| ab_pitcher_name | Fulmer, Michael |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 664774.0 |
| ab_on_2b_start | 670623.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Cam Smith strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 14.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 88.675 |
| ab_release_spin_rate_avg | 2645.5 |
| ab_effective_speed_avg | 88.65 |
| ab_delta_run_exp_avg | -0.0615 |
| ab_delta_home_win_exp_avg | -0.01 |
| ab_delta_pitcher_run_exp_avg | 0.0615 |
| ab_bat_speed_avg | 70.15 |
| ab_swing_length_avg | 7.15 |
| ab_release_speed_max | 95.7 |
| ab_release_spin_rate_max | 2857.0 |
| ab_release_speed_min | 81.5 |
| ab_release_spin_rate_min | 2444.0 |
| ab_delta_run_exp_sum | -0.246 |
| ab_delta_home_win_exp_sum | -0.04 |
| ab_delta_pitcher_run_exp_sum | 0.246 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.087 | 1.000 | 0.000 | Hitting_2B | 0.080 | 0.000 | 0.920 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.320 | 3.000 | 0.680 | 0.000 |
| predicted_AVG | 0.232 | 0.333 | 0.333 | Hitting_AVG | 0.256 | 0.000 | 0.078 | 0.333 |
| predicted_BB | 0.152 | 0.000 | 0.000 | Hitting_BB | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.330 | 1.000 | 1.000 | Hitting_H | 0.593 | 0.000 | 0.407 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_OBP | 0.248 | 0.333 | 0.333 | Hitting_OBP | 0.309 | 0.000 | 0.024 | 0.333 |
| predicted_R | 0.370 | 1.000 | 0.000 | Hitting_R | 0.393 | 0.000 | 0.607 | 1.000 |
| predicted_RBI | 0.240 | 1.000 | 0.000 | Hitting_RBI | 0.320 | 0.000 | 0.680 | 1.000 |
| predicted_SLG | 0.405 | 0.667 | 0.333 | Hitting_SLG | 0.342 | 0.000 | 0.325 | 0.667 |
| predicted_SO | 0.587 | 0.000 | 1.000 | Hitting_SO | 0.567 | 3.000 | -0.567 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.0870 -> 1.0000 (boost 0.9130, better) |
| Biggest Deboost | predicted_SO: 0.5870 -> 0.0000 (deboost -0.5870, 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.3300 -> 0.4485 (boost 0.1185, 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.4018 -> 0.2891 (deboost -0.1127, 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.4506 -> 1.0000 (boost 0.5494, better) | predicted_RBI: 0.2730 -> 0.0000 (deboost -0.2730, worse) | AB rounded to 3 (raw=2.52), rates preserved: AVG=0.179 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3946 -> 0.0000 (deboost -0.3946, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1789 -> 0.3330 (boost 0.1541, 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 -> 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.1789 (deboost -0.1541, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669397",
"player_name": "Nick Allen",
"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.087,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.232,
"predicted_BB": 0.152,
"predicted_H": 0.33,
"predicted_HR": 0.04,
"predicted_OBP": 0.248,
"predicted_R": 0.37,
"predicted_RBI": 0.24,
"predicted_SLG": 0.405,
"predicted_SO": 0.587
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.087,
"predicted_3B": 0.0008,
"predicted_AB": 2.5185,
"predicted_AVG": 0.2382,
"predicted_BB": 0.1433,
"predicted_H": 0.4485,
"predicted_HBP": 0.015,
"predicted_HR": 0.0624,
"predicted_OBP": 0.2613,
"predicted_R": 0.3913,
"predicted_RBI": 0.2707,
"predicted_SLG": 0.4018,
"predicted_SO": 0.5898
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 0.087,
"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": 2.5,
"after": 2.5185,
"delta": 0.0185,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2382,
"delta": 0.0062,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.152,
"after": 0.1433,
"delta": -0.0087,
"percent_delta": -0.0572,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 0.4485,
"delta": 0.1185,
"percent_delta": 0.3591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0624,
"delta": 0.0224,
"percent_delta": 0.56,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.2613,
"delta": 0.0133,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.37,
"after": 0.3913,
"delta": 0.0213,
"percent_delta": 0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2707,
"delta": 0.0307,
"percent_delta": 0.1279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4018,
"delta": -0.0032,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.587,
"after": 0.5898,
"delta": 0.0028,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_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.33,
"after": 0.4485,
"delta": 0.1185,
"percent_delta": 0.3591,
"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": 49
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.087,
"predicted_3B": 0.0008,
"predicted_AB": 2.5185,
"predicted_AVG": 0.1789,
"predicted_BB": 0.1437,
"predicted_H": 0.4506,
"predicted_HBP": 0.015,
"predicted_HR": 0.063,
"predicted_OBP": 0.2232,
"predicted_R": 0.3946,
"predicted_RBI": 0.273,
"predicted_SLG": 0.2891,
"predicted_SO": 0.5881
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 0.087,
"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.5185,
"after": 2.5185,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2382,
"after": 0.1789,
"delta": -0.0593,
"percent_delta": -0.249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1433,
"after": 0.1437,
"delta": 0.0004,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4485,
"after": 0.4506,
"delta": 0.0021,
"percent_delta": 0.0047,
"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.0624,
"after": 0.063,
"delta": 0.0006,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2613,
"after": 0.2232,
"delta": -0.0381,
"percent_delta": -0.1458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3913,
"after": 0.3946,
"delta": 0.0033,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2707,
"after": 0.273,
"delta": 0.0023,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4018,
"after": 0.2891,
"delta": -0.1127,
"percent_delta": -0.2805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5898,
"after": 0.5881,
"delta": -0.0017,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4018,
"after": 0.2891,
"delta": -0.1127,
"percent_delta": -0.2805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.52), rates preserved: AVG=0.179 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"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.5185,
"after": 3.0,
"delta": 0.4815,
"percent_delta": 0.1912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1437,
"after": 0.0,
"delta": -0.1437,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4506,
"after": 1.0,
"delta": 0.5494,
"percent_delta": 1.2193,
"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.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.273,
"after": 0.0,
"delta": -0.273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5881,
"after": 1.0,
"delta": 0.4119,
"percent_delta": 0.7004,
"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.4506,
"after": 1.0,
"delta": 0.5494,
"percent_delta": 1.2193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.273,
"after": 0.0,
"delta": -0.273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3946,
"after": 0.0,
"delta": -0.3946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3946,
"after": 0.0,
"delta": -0.3946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1789,
"after": 0.333,
"delta": 0.1541,
"percent_delta": 0.8614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2232,
"after": 0.333,
"delta": 0.1098,
"percent_delta": 0.4919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2891,
"after": 0.333,
"delta": 0.0439,
"percent_delta": 0.1519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1789,
"after": 0.333,
"delta": 0.1541,
"percent_delta": 0.8614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1789,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2232,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2891,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1789,
"delta": -0.1541,
"percent_delta": -0.4627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2232,
"delta": -0.1098,
"percent_delta": -0.3296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2891,
"delta": -0.0439,
"percent_delta": -0.1317,
"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.1789,
"delta": -0.1541,
"percent_delta": -0.4627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 1.0,
"delta": 0.913,
"percent_delta": 10.4943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.1789,
"delta": -0.0531,
"percent_delta": -0.2289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.2232,
"delta": -0.0248,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.2891,
"delta": -0.1159,
"percent_delta": -0.2862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.587,
"after": 0.0,
"delta": -0.587,
"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.087,
"after": 1.0,
"delta": 0.913,
"percent_delta": 10.4943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.587,
"after": 0.0,
"delta": -0.587,
"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.087 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.152 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.248 | - |
| predicted_R | 0.370 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.587 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.000 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.518 | 0.018 |
| predicted_AVG | 0.238 | 0.006 |
| predicted_BB | 0.143 | -0.009 |
| predicted_H | 0.449 | 0.118 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.062 | 0.022 |
| predicted_OBP | 0.261 | 0.013 |
| predicted_R | 0.391 | 0.021 |
| predicted_RBI | 0.271 | 0.031 |
| predicted_SLG | 0.402 | -0.003 |
| predicted_SO | 0.590 | 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.087 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.518 | 0.000 |
| predicted_AVG | 0.179 | -0.059 |
| predicted_BB | 0.144 | 0.000 |
| predicted_H | 0.451 | 0.002 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.063 | 0.001 |
| predicted_OBP | 0.223 | -0.038 |
| predicted_R | 0.395 | 0.003 |
| predicted_RBI | 0.273 | 0.002 |
| predicted_SLG | 0.289 | -0.113 |
| predicted_SO | 0.588 | -0.002 |
AB rounded to 3 (raw=2.52), rates preserved: AVG=0.179 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.087 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.482 |
| predicted_AVG | 0.333 | 0.154 |
| predicted_BB | 0.000 | -0.144 |
| predicted_H | 1.000 | 0.549 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.333 | 0.110 |
| predicted_R | 0.000 | -0.395 |
| predicted_RBI | 0.000 | -0.273 |
| predicted_SLG | 0.333 | 0.044 |
| predicted_SO | 1.000 | 0.412 |
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 | 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 | - | 11.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 3.000 | 0.1818 | 0.1818 | 0.4545 | 0.1818 | 0.0909 | 0.1818 | 0.0000 | 0.2727 |
| last_10 | 0.20 | 10 | - | 20.000 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 1.000 | 4.000 | 0.3000 | 0.3182 | 0.5000 | 0.3000 | 0.0500 | 0.1000 | 0.0500 | 0.2000 |
| season | 0.60 | 49 | - | 115.000 | 29.000 | 4.000 | 0.000 | 2.000 | 13.000 | 17.000 | 7.000 | 27.000 | 0.2522 | 0.2937 | 0.3391 | 0.2522 | 0.0174 | 0.1130 | 0.0609 | 0.2348 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0870 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.5470 |
| predicted_AVG | 0.2477 |
| predicted_BB | 0.1300 |
| predicted_H | 0.6310 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.2818 |
| predicted_R | 0.4240 |
| predicted_RBI | 0.3180 |
| predicted_SLG | 0.3970 |
| predicted_SO | 0.5940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0870 | 0.0870 | 0.0870 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.5470 | 2.5185 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2477 | 0.2382 | model_form_blend |
| predicted_BB | 0.1520 | 0.1300 | 0.1433 | model_form_blend |
| predicted_H | 0.3300 | 0.6310 | 0.4485 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.0400 | 0.0970 | 0.0624 | model_form_blend |
| predicted_OBP | 0.2480 | 0.2818 | 0.2613 | model_form_blend |
| predicted_R | 0.3700 | 0.4240 | 0.3913 | model_form_blend |
| predicted_RBI | 0.2400 | 0.3180 | 0.2707 | model_form_blend |
| predicted_SLG | 0.4050 | 0.3970 | 0.4018 | model_form_blend |
| predicted_SO | 0.5870 | 0.5940 | 0.5898 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 49 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| 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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 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 | 20260819_LAA@HOU |
| game_type | ph |
| mlbID | 669397 |
| note | Struck out for Peña in the 3rd. |
| playerID | 669397 |
| playerName | Nick Allen |
| pos | SS |
| started | False |
| startingPosition | PH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.279 |
| sl_xwoba | 0.231 |
| sl_xba | 0.204 |
| sl_xslg | 0.259 |
| sl_sweet_spot_percent | 23.7 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 25.8 |
| sl_exit_velocity_avg | 85.2 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 46.8 |
| at_bat_number | 58.0 |
| ab_pitcher | 642048.0 |
| ab_pitcher_name | Saucedo, Tayler |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Nick Allen strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 73.7 |
| ab_launch_angle_last | 73.0 |
| ab_hit_distance_last | 143.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 8.0 |
| ab_release_speed_avg | 88.875 |
| ab_release_spin_rate_avg | 2494.0 |
| ab_effective_speed_avg | 89.5875 |
| ab_launch_speed_avg | 80.9 |
| ab_launch_angle_avg | 22.0 |
| ab_delta_run_exp_avg | -0.032375 |
| ab_delta_home_win_exp_avg | -0.0012499999999999 |
| ab_delta_pitcher_run_exp_avg | 0.032375 |
| ab_bat_speed_avg | 62.150000000000006 |
| ab_swing_length_avg | 6.550000000000001 |
| ab_launch_speed_max | 88.1 |
| ab_hit_distance_sc_max | 143.0 |
| ab_release_speed_max | 93.4 |
| ab_release_spin_rate_max | 2620.0 |
| ab_release_speed_min | 82.8 |
| ab_release_spin_rate_min | 2116.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | -0.0099999999999999 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.097 | 0.000 | 0.000 | Hitting_2B | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.917 | 3.000 | 3.000 | Hitting_AB | 3.159 | 2.000 | -0.159 | 1.000 |
| predicted_AVG | 0.239 | 0.333 | 0.333 | Hitting_AVG | 0.239 | 0.500 | 0.094 | -0.167 |
| predicted_BB | 0.222 | 0.000 | 0.000 | Hitting_BB | 0.258 | 1.000 | -0.258 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.580 | 1.000 | 1.000 | Hitting_H | 0.755 | 1.000 | 0.245 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.107 | 1.000 | -0.107 | -1.000 |
| predicted_OBP | 0.307 | 0.333 | 0.333 | Hitting_OBP | 0.295 | 0.667 | 0.038 | -0.333 |
| predicted_R | 0.292 | 1.000 | 0.000 | Hitting_R | 0.335 | 1.000 | 0.665 | 0.000 |
| predicted_RBI | 0.370 | 1.000 | 0.000 | Hitting_RBI | 0.412 | 1.000 | 0.588 | 0.000 |
| predicted_SLG | 0.498 | 0.333 | 0.333 | Hitting_SLG | 0.385 | 2.000 | -0.051 | -1.667 |
| predicted_SO | 0.611 | 1.000 | 1.000 | Hitting_SO | 0.631 | 1.000 | 0.369 | 0.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.2920 -> 1.0000 (boost 0.7080, better) |
| Biggest Deboost | predicted_BB: 0.2220 -> 0.0000 (deboost -0.2220, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4980 -> 0.4852 (deboost -0.0128, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4852 -> 0.4402 (deboost -0.0450, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.6182 -> 1.0000 (boost 0.3818, better) | predicted_RBI: 0.3643 -> 0.0000 (deboost -0.3643, worse) | AB rounded to 3 (raw=2.92), rates preserved: AVG=0.212 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3347 -> 0.0000 (deboost -0.3347, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2155 -> 0.3330 (boost 0.1175, better) | predicted_SLG: 0.4402 -> 0.3330 (deboost -0.1072, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4402 (boost 0.1072, better) | predicted_AVG: 0.3330 -> 0.2155 (deboost -0.1175, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.097,
"predicted_3B": 0.0,
"predicted_AB": 2.917,
"predicted_AVG": 0.239,
"predicted_BB": 0.222,
"predicted_H": 0.58,
"predicted_HR": 0.18,
"predicted_OBP": 0.307,
"predicted_R": 0.292,
"predicted_RBI": 0.37,
"predicted_SLG": 0.498,
"predicted_SO": 0.611
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0837,
"predicted_3B": 0.0004,
"predicted_AB": 2.8692,
"predicted_AVG": 0.2383,
"predicted_BB": 0.2494,
"predicted_H": 0.6153,
"predicted_HBP": 0.003,
"predicted_HR": 0.185,
"predicted_OBP": 0.3071,
"predicted_R": 0.3319,
"predicted_RBI": 0.3613,
"predicted_SLG": 0.4852,
"predicted_SO": 0.633
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.0837,
"delta": -0.0133,
"percent_delta": -0.1371,
"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.917,
"after": 2.8692,
"delta": -0.0478,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2383,
"delta": -0.0007,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.2494,
"delta": 0.0274,
"percent_delta": 0.1234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.6153,
"delta": 0.0353,
"percent_delta": 0.0609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.185,
"delta": 0.005,
"percent_delta": 0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3071,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 0.3319,
"delta": 0.0399,
"percent_delta": 0.1366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3613,
"delta": -0.0087,
"percent_delta": -0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.498,
"after": 0.4852,
"delta": -0.0128,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.611,
"after": 0.633,
"delta": 0.022,
"percent_delta": 0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.498,
"after": 0.4852,
"delta": -0.0128,
"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": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0837,
"predicted_3B": 0.0004,
"predicted_AB": 2.8692,
"predicted_AVG": 0.2155,
"predicted_BB": 0.2501,
"predicted_H": 0.6182,
"predicted_HBP": 0.003,
"predicted_HR": 0.1868,
"predicted_OBP": 0.2784,
"predicted_R": 0.3347,
"predicted_RBI": 0.3643,
"predicted_SLG": 0.4402,
"predicted_SO": 0.6312
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0837,
"after": 0.0837,
"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.8692,
"after": 2.8692,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2383,
"after": 0.2155,
"delta": -0.0228,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2494,
"after": 0.2501,
"delta": 0.0007,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6153,
"after": 0.6182,
"delta": 0.0029,
"percent_delta": 0.0047,
"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.185,
"after": 0.1868,
"delta": 0.0018,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3071,
"after": 0.2784,
"delta": -0.0287,
"percent_delta": -0.0935,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3319,
"after": 0.3347,
"delta": 0.0028,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3613,
"after": 0.3643,
"delta": 0.003,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4852,
"after": 0.4402,
"delta": -0.045,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.633,
"after": 0.6312,
"delta": -0.0018,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4852,
"after": 0.4402,
"delta": -0.045,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.92), rates preserved: AVG=0.212 HR/AB=0.064",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0837,
"after": 0.0,
"delta": -0.0837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8692,
"after": 3.0,
"delta": 0.1308,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2501,
"after": 0.0,
"delta": -0.2501,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6182,
"after": 1.0,
"delta": 0.3818,
"percent_delta": 0.6176,
"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.1868,
"after": 0.0,
"delta": -0.1868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3643,
"after": 0.0,
"delta": -0.3643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6312,
"after": 1.0,
"delta": 0.3688,
"percent_delta": 0.5843,
"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.6182,
"after": 1.0,
"delta": 0.3818,
"percent_delta": 0.6176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3643,
"after": 0.0,
"delta": -0.3643,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3347,
"after": 0.0,
"delta": -0.3347,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3347,
"after": 0.0,
"delta": -0.3347,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2155,
"after": 0.333,
"delta": 0.1175,
"percent_delta": 0.5452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2784,
"after": 0.333,
"delta": 0.0546,
"percent_delta": 0.1961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4402,
"after": 0.333,
"delta": -0.1072,
"percent_delta": -0.2435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2155,
"after": 0.333,
"delta": 0.1175,
"percent_delta": 0.5452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4402,
"after": 0.333,
"delta": -0.1072,
"percent_delta": -0.2435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2155,
"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.2784,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4402,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2155,
"delta": -0.1175,
"percent_delta": -0.353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2784,
"delta": -0.0546,
"percent_delta": -0.1641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4402,
"delta": 0.1072,
"percent_delta": 0.3219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.4402,
"delta": 0.1072,
"percent_delta": 0.3219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2155,
"delta": -0.1175,
"percent_delta": -0.353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.0,
"delta": -0.097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.917,
"after": 3.0,
"delta": 0.083,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2155,
"delta": -0.0235,
"percent_delta": -0.0983,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2784,
"delta": -0.0286,
"percent_delta": -0.0932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 1.0,
"delta": 0.708,
"percent_delta": 2.4247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.498,
"after": 0.4402,
"delta": -0.0578,
"percent_delta": -0.1161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.611,
"after": 1.0,
"delta": 0.389,
"percent_delta": 0.6367,
"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.292,
"after": 1.0,
"delta": 0.708,
"percent_delta": 2.4247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.097 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.917 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.222 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.292 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.498 | - |
| predicted_SO | 0.611 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.084 | -0.013 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.869 | -0.048 |
| predicted_AVG | 0.238 | -0.001 |
| predicted_BB | 0.249 | 0.027 |
| predicted_H | 0.615 | 0.035 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.185 | 0.005 |
| predicted_OBP | 0.307 | 0.000 |
| predicted_R | 0.332 | 0.040 |
| predicted_RBI | 0.361 | -0.009 |
| predicted_SLG | 0.485 | -0.013 |
| predicted_SO | 0.633 | 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.084 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.869 | 0.000 |
| predicted_AVG | 0.215 | -0.023 |
| predicted_BB | 0.250 | 0.001 |
| predicted_H | 0.618 | 0.003 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.187 | 0.002 |
| predicted_OBP | 0.278 | -0.029 |
| predicted_R | 0.335 | 0.003 |
| predicted_RBI | 0.364 | 0.003 |
| predicted_SLG | 0.440 | -0.045 |
| predicted_SO | 0.631 | -0.002 |
AB rounded to 3 (raw=2.92), rates preserved: AVG=0.212 HR/AB=0.064
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.084 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.131 |
| predicted_AVG | 0.333 | 0.118 |
| predicted_BB | 0.000 | -0.250 |
| predicted_H | 1.000 | 0.382 |
| predicted_HR | 0.000 | -0.187 |
| predicted_OBP | 0.333 | 0.055 |
| predicted_R | 0.000 | -0.335 |
| predicted_RBI | 0.000 | -0.364 |
| predicted_SLG | 0.333 | -0.107 |
| predicted_SO | 1.000 | 0.369 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 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 | 3.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 2.000 | 3.000 | 0.2727 | 0.3846 | 0.8182 | 0.2727 | 0.1818 | 0.1818 | 0.1818 | 0.2727 |
| last_10 | 0.20 | 10 | - | 24.000 | 6.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 3.000 | 7.000 | 0.2500 | 0.3333 | 0.5000 | 0.2500 | 0.0833 | 0.0833 | 0.1250 | 0.2917 |
| season | 0.60 | 72 | - | 210.000 | 46.000 | 7.000 | 0.000 | 7.000 | 25.000 | 21.000 | 16.000 | 44.000 | 0.2190 | 0.2731 | 0.3524 | 0.2190 | 0.0333 | 0.1191 | 0.0762 | 0.2095 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0650 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8020 |
| predicted_AVG | 0.2374 |
| predicted_BB | 0.2880 |
| predicted_H | 0.6650 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1920 |
| predicted_OBP | 0.3072 |
| predicted_R | 0.3880 |
| predicted_RBI | 0.3490 |
| predicted_SLG | 0.4673 |
| predicted_SO | 0.6640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0970 | 0.0650 | 0.0837 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.9170 | 2.8020 | 2.8692 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2374 | 0.2383 | model_form_blend |
| predicted_BB | 0.2220 | 0.2880 | 0.2494 | model_form_blend |
| predicted_H | 0.5800 | 0.6650 | 0.6153 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1800 | 0.1920 | 0.1850 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3072 | 0.3071 | model_form_blend |
| predicted_R | 0.2920 | 0.3880 | 0.3319 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3490 | 0.3613 | model_form_blend |
| predicted_SLG | 0.4980 | 0.4673 | 0.4852 | model_form_blend |
| predicted_SO | 0.6110 | 0.6640 | 0.6330 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.219 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 543877 |
| playerID | 543877 |
| playerName | Christian Vázquez |
| pos | C |
| started | True |
| startingPosition | C |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.277 |
| sl_xwoba | 0.243 |
| sl_xba | 0.2 |
| sl_xslg | 0.28 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 23.8 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 19.8 |
| sl_swing_percent | 47.2 |
| at_bat_number | 57.0 |
| ab_pitcher | 642048.0 |
| ab_pitcher_name | Saucedo, Tayler |
| ab_home_team | HOU |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Christian Vázquez strikes out on a foul tip. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 71.2 |
| ab_launch_angle_last | 9.0 |
| ab_hit_distance_last | 101.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 7.0 |
| ab_release_speed_avg | 88.97142857142856 |
| ab_release_spin_rate_avg | 2412.428571428572 |
| ab_effective_speed_avg | 89.68571428571428 |
| ab_launch_speed_avg | 72.7 |
| ab_launch_angle_avg | 9.666666666666666 |
| ab_delta_run_exp_avg | -0.0374285714285714 |
| ab_delta_home_win_exp_avg | -0.0021428571428571 |
| ab_delta_pitcher_run_exp_avg | 0.0374285714285714 |
| ab_bat_speed_avg | 62.45 |
| ab_swing_length_avg | 6.449999999999999 |
| ab_launch_speed_max | 77.9 |
| ab_hit_distance_sc_max | 126.0 |
| ab_release_speed_max | 93.5 |
| ab_release_spin_rate_max | 2583.0 |
| ab_release_speed_min | 82.7 |
| ab_release_spin_rate_min | 2218.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.015 |
| ab_delta_pitcher_run_exp_sum | 0.262 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 2.190 | 2.000 | -2.190 | -2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.952 | 2.000 | 1.048 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.333 | 4.000 | 0.667 | 1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.529 | 5.000 | -0.329 | 0.200 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.571 | 6.000 | 0.429 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663567",
"player_name": "Peter Lambert",
"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": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 6.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 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 | 26.200 | 10.000 | 25.000 | 10.000 | 26.000 | 1.000 | 3.3750 | 1.3125 | 0.3750 | 0.9375 | 0.3750 | 0.9750 | 0.0375 |
| last_10 | 0.35 | 10 | 54.200 | 18.000 | 45.000 | 21.000 | 59.000 | 6.000 | 2.9634 | 1.2073 | 0.3293 | 0.8232 | 0.3841 | 1.0793 | 0.1098 |
| season | 0.20 | 21 | 118.200 | 41.000 | 91.000 | 46.000 | 117.000 | 12.000 | 3.1096 | 1.1545 | 0.3455 | 0.7669 | 0.3876 | 0.9860 | 0.1011 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0600 |
| predicted_ER | 2.0790 |
| predicted_ERA | 3.4324 |
| predicted_H | 4.8210 |
| predicted_HR | 0.4870 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.4630 |
| predicted_WHIP | 1.2621 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 2.0600 | 1.1716 | model_form_blend |
| predicted_ER | 3.0000 | 2.0790 | 2.4762 | model_form_blend |
| predicted_ERA | - | 3.4324 | 3.4324 | form_only |
| predicted_H | 5.0000 | 4.8210 | 4.8982 | model_form_blend |
| predicted_HR | 1.0000 | 0.4870 | 0.7082 | model_form_blend |
| predicted_IP | 5.2000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 6.0000 | 5.4630 | 5.6946 | model_form_blend |
| predicted_WHIP | - | 1.2621 | 1.2621 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.2 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 6 |
| HR | 1 |
| BF | 22 |
| 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 | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.11 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 2 |
| Pitching_H | 4 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 2 |
| Pitching_SO | 6 |
| Pitching_Strikes | 60 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260814_SEA@HOU |
| game_type | full |
| mlbID | 663567 |
| playerID | 663567 |
| playerName | Peter Lambert |
| pos | P |
| started | True |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-14 |
| game_pk | 824159.0 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.282 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 36.3 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 48.4 |
| sv_pitch_count | 96.0 |
| sv_outs_recorded_est | 15.0 |
| sv_release_speed | 89.628125 |
| sv_release_spin_rate | 2221.9479166666665 |
| sv_effective_speed | 89.11354166666666 |
| sv_launch_speed | 82.31785714285715 |
| sv_launch_angle | 27.464285714285715 |
| sv_woba_value | 6.4 |
| sv_woba_denom | 22.0 |
| sv_delta_run_exp | -0.2009999999999996 |
| sv_delta_home_win_exp | 0.037 |
| sl_avg_best_speed | 78.524273125 |
| sl_avg_hyper_speed | 93.59565348 |
| 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.673 | 0.000 | -0.673 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.449 | 0.000 | -0.449 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.653 | 0.000 | -0.653 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.853 | 1.000 | 0.247 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.204 | 2.000 | -1.204 | -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": "650556",
"player_name": "Bryan Abreu",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 2.000 | 3.000 | 4.000 | 6.000 | 0.000 | 3.3750 | 1.3125 | 0.3750 | 0.5625 | 0.7500 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 3.000 | 5.000 | 13.000 | 0.000 | 1.7419 | 0.7742 | 0.1935 | 0.2903 | 0.4839 | 1.2581 | 0.0000 |
| season | 0.20 | 48 | 46.000 | 22.000 | 30.000 | 33.000 | 59.000 | 7.000 | 4.3043 | 1.3696 | 0.4783 | 0.6522 | 0.7174 | 1.2826 | 0.1522 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5500 |
| predicted_ER | 0.3910 |
| predicted_ERA | 3.5209 |
| predicted_H | 0.6560 |
| predicted_HR | 0.0710 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1160 |
| predicted_WHIP | 1.2067 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5500 | 0.2758 | model_form_blend |
| predicted_ER | 0.0000 | 0.3910 | 0.1961 | model_form_blend |
| predicted_ERA | - | 3.5209 | 3.5209 | form_only |
| predicted_H | 0.0000 | 0.6560 | 0.3290 | model_form_blend |
| predicted_HR | 0.0000 | 0.0710 | 0.0356 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1160 | 0.5597 | model_form_blend |
| predicted_WHIP | - | 1.2067 | 1.2067 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 49 |
| Season rows before report date | 49 |
| Report year | 2026 |
| Profile rows used | 48 |
| 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 | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.30 |
| 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 | 14 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 650556 |
| playerID | 650556 |
| playerName | Bryan Abreu |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 16.4 |
| sl_woba | 0.329 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 41.9 |
| sl_whiff_percent | 32.9 |
| sl_swing_percent | 41.1 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.4 |
| sv_release_spin_rate | 2665.785714285714 |
| sv_effective_speed | 92.53571428571428 |
| sv_launch_speed | 97.55 |
| sv_launch_angle | 31.0 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.781 |
| sv_delta_home_win_exp | 0.122 |
| sl_avg_best_speed | 81.6953406 |
| sl_avg_hyper_speed | 94.3642045 |
| 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.344 | 1.000 | -0.344 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.406 | 0.000 | -0.406 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.947 | 1.000 | 0.053 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.281 | 0.000 | -1.281 | 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": "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": 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 | 6.000 | 0.000 | 3.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 0.6667 | 0.0000 | 0.5000 | 0.1667 | 0.8333 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 0.000 | 3.000 | 3.000 | 8.000 | 0.000 | 0.0000 | 0.5455 | 0.0000 | 0.2727 | 0.2727 | 0.7273 | 0.0000 |
| season | 0.20 | 31 | 31.000 | 2.000 | 10.000 | 11.000 | 41.000 | 1.000 | 0.5806 | 0.6774 | 0.0645 | 0.3226 | 0.3548 | 1.3226 | 0.0323 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3210 |
| predicted_ER | 0.2490 |
| predicted_ERA | 2.0712 |
| predicted_H | 0.7010 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9970 |
| predicted_WHIP | 0.9436 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3210 | 0.1482 | model_form_blend |
| predicted_ER | 0.0000 | 0.2490 | 0.1150 | model_form_blend |
| predicted_ERA | - | 2.0712 | 2.0712 | form_only |
| predicted_H | 0.0000 | 0.7010 | 0.3236 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0346 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9970 | 0.4603 | model_form_blend |
| predicted_WHIP | - | 0.9436 | 0.9436 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.87 |
| 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 | 19 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 623352 |
| playerID | 623352 |
| playerName | Josh Hader |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 35.0 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.181 |
| sl_xwoba | 0.225 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 33.8 |
| sl_whiff_percent | 36.5 |
| sl_swing_percent | 53.1 |
| sv_pitch_count | 19.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 89.34210526315789 |
| sv_release_spin_rate | 2327.4210526315787 |
| sv_effective_speed | 89.90526315789474 |
| sv_launch_speed | 81.16 |
| sv_launch_angle | 33.6 |
| sv_woba_value | 0.7 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.315 |
| sv_delta_home_win_exp | 0.1649999999999999 |
| sl_avg_best_speed | 73.834582121 |
| sl_avg_hyper_speed | 92.774564462 |
| 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.210 | 1.000 | -0.210 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.645 | 0.000 | 0.355 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.879 | 1.000 | 0.121 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.032 | 2.000 | -0.032 | -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": "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": 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 | 2.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 0.5625 | 0.0000 | 0.3750 | 0.1875 | 0.9375 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 9.000 | 1.000 | 10.000 | 1.000 | 1.8000 | 1.0000 | 0.2000 | 0.9000 | 0.1000 | 1.0000 | 0.1000 |
| season | 0.20 | 62 | 62.200 | 14.000 | 40.000 | 13.000 | 64.000 | 6.000 | 2.0106 | 0.8457 | 0.2234 | 0.6383 | 0.2074 | 1.0213 | 0.0957 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2190 |
| predicted_ER | 0.2240 |
| predicted_ERA | 2.0199 |
| predicted_H | 0.7140 |
| predicted_HR | 0.0810 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9700 |
| predicted_WHIP | 0.9333 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2190 | 0.1160 | model_form_blend |
| predicted_ER | 0.0000 | 0.2240 | 0.1187 | model_form_blend |
| predicted_ERA | - | 2.0199 | 2.0199 | form_only |
| predicted_H | 1.0000 | 0.7140 | 0.8485 | model_form_blend |
| predicted_HR | 0.0000 | 0.0810 | 0.0429 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9700 | 0.9841 | model_form_blend |
| predicted_WHIP | - | 0.9333 | 0.9333 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 62 |
| Season rows before report date | 62 |
| Report year | 2026 |
| Profile rows used | 62 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.01 |
| 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 | 20 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260819_LAA@HOU |
| game_type | full |
| mlbID | 595345 |
| playerID | 595345 |
| playerName | Steven Okert |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-08-19 |
| game_pk | 824155.0 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.242 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 49.6 |
| sv_pitch_count | 20.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 84.19500000000001 |
| sv_release_spin_rate | 2337.75 |
| sv_effective_speed | 83.74 |
| sv_launch_speed | 39.93333333333333 |
| sv_launch_angle | 40.0 |
| sv_woba_value | 0.7 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.3269999999999999 |
| sv_delta_home_win_exp | 0.097 |
| sl_avg_best_speed | 76.280905584 |
| sl_avg_hyper_speed | 92.995261429 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | WAS 5 - 4 TEX | WAS | 0.510 | simulation_total_with_model_margin_cap | True |
| Simulation draw | WAS 5 - 1 TEX | WAS | - | same_winner_margin_capped | False |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5101; empirical=0.5037; weight=0.5000; final=0.5069 |
| P1 | H2H margin as base feature | available | home net=-1; abs=1; home delta=-0.0075; away delta=0.0075 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=1.6500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=-0.4063; recent edge=-0.5040; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| 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.5100 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | same_winner_margin_capped |
| 10. Score evolution rendered | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.486 | 5.081 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5100 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 5 | 1 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.47529367741935485,
"base_low_score_probability": 0.432258064516129,
"low_score_signal_threshold": 0.512258064516129,
"low_score_signal_strength": 0.04303561290322583,
"confidence": 0.64978,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.09956
},
"prediction": "normal_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 6,
"score_source": "simulation_total_with_model_margin_cap"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 270,
"near_bucket_sample_size": 270,
"medium_bucket_sample_size": 361,
"wide_bucket_sample_size": 416,
"global_sample_size": 597,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5037,
"bayesian_hit_rate": 0.5035,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.9375,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5085,
"calibrated_pick_probability": 0.505,
"predicted_side": "home"
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.5101,
"sample_size": 270,
"empirical_hit_rate": 0.5037,
"empirical_weight": 0.5,
"blended_confidence": 0.5069,
"published_confidence": 0.51,
"published_after_governors": true
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 2,
"sample_weight": 0.03,
"home_net_margin": -1.0,
"absolute_net_margin": 1.0,
"home_average_margin": -0.5,
"home_run_delta": -0.0075,
"away_run_delta": 0.0075,
"evidence": [
{
"game_id": null,
"home_margin": -6.0
},
{
"game_id": null,
"home_margin": 5.0
}
]
}{
"applied": false,
"home": {
"team": "TEX",
"games": 126,
"wins": 62,
"losses": 64,
"win_pct": 0.49206349206349204,
"runs_scored": 512,
"runs_allowed": 554,
"run_differential": -42,
"run_differential_per_game": -0.3333333333333333,
"available": true
},
"away": {
"team": "WAS",
"games": 127,
"wins": 60,
"losses": 67,
"win_pct": 0.47244094488188976,
"runs_scored": 670,
"runs_allowed": 657,
"run_differential": 13,
"run_differential_per_game": 0.10236220472440945,
"available": true
},
"run_differential_edge_per_game": -0.4357,
"win_pct_edge": 0.0196,
"quality_edge": -0.4405,
"season_quality_edge": -0.4063,
"recent_quality_blend": {
"method": "season_recent10_quality_blend_v1",
"recent_window": 10,
"season_quality_edge": -0.4063,
"recent_quality_edge": -0.504,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": -0.4405
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.029698197204186805
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.029641204787579076
},
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.0292329469823471
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.02917684740560731
},
{
"home_runs": 4,
"away_runs": 2,
"probability": 0.025259560198765678
}
],
"home_distribution": {
"0": 0.06001850754540573,
"1": 0.10092805205050777,
"2": 0.14281520115023963,
"3": 0.1700485079423029,
"4": 0.17037546750678834,
"5": 0.14364057685333212,
"6": 0.10190208396840687,
"7": 0.06083098321040346,
"8": 0.030556418638108845,
"9": 0.012915639425105471,
"10": 0.004593727377821979,
"11": 0.0013748343315769104
},
"away_distribution": {
"0": 0.06293971182915845,
"1": 0.1055729439203388,
"2": 0.14825820036420004,
"3": 0.17431029031807957,
"4": 0.17157955549664072,
"5": 0.14139897478835312,
"6": 0.09755851767729228,
"7": 0.05635368697855138,
"8": 0.02725321157463506,
"9": 0.011034464208314797,
"10": 0.003740442844435574
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": false,
"reasons": [
"latest same-matchup result beat the predicted side",
"predicted side recently lost this matchup by 5+ runs",
"a prior same-side pick already missed against the actual result",
"a prior same-side pick missed by 5+ actual runs",
"latest-series reversal condition was suppressed"
],
"signals": {
"predicted_team": "TEX",
"opponent_team": "WAS",
"h2h_net_margin": -1,
"opponent_breakout": false,
"opponent_blowout_win": true,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-08-19",
"predicted_team_runs": 0,
"opponent_runs": 6,
"margin_for_predicted_team": -6,
"winner": "WAS"
},
{
"date": "2026-08-18",
"predicted_team_runs": 5,
"opponent_runs": 0,
"margin_for_predicted_team": 5,
"winner": "TEX"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 2,
"consecutive_same_pick_count": 1,
"same_pick_actual_loss_count": 1,
"same_pick_blowout_loss_count": 1,
"prior_predictions": [
{
"date": "20260819",
"away": "WAS",
"home": "TEX",
"game_number": 1,
"predicted_team": "TEX",
"actual_winner": "WAS",
"actual_margin": 6,
"raw_pick_probability": 0.556563,
"artifact": "20260819_WAS@TEX.json",
"verification": "pregame_official_final"
},
{
"date": "20260818",
"away": "WAS",
"home": "TEX",
"game_number": 1,
"predicted_team": "WAS",
"actual_winner": "TEX",
"actual_margin": 5,
"raw_pick_probability": 0.52006,
"artifact": "20260818_WAS@TEX.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "TEX",
"guardrail_opponent_team": "WAS",
"output_pre_simulation_winner": "WAS",
"output_opponent_team": "TEX",
"simulation_score_winner": "WAS",
"final_score_winner": "WAS",
"pre_simulation_winner": "WAS",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": true,
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "WAS 5 - 4 TEX",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "WAS 5 - 1 TEX",
"winner": "WAS"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0,
"recent_form_edge_home_minus_away": -0.504,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": true,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": -3,
"total_run_delta": -3,
"score_source": "simulation_total_with_model_margin_cap",
"simulation_usage": "same_winner_margin_capped",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 3,
"home_runs": 2,
"winner": "WAS",
"model_winner": "WAS",
"simulation_winner": "WAS",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": true,
"model_margin": 1,
"simulation_margin": 4,
"simulation_usage": "same_winner_margin_capped",
"score_source": "simulation_total_with_model_margin_cap",
"model_score": {
"away_runs": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 1
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 4,
"winner_quality_edge": 0.4405,
"winner": "WAS",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "TEX",
"games": 126,
"wins": 62,
"losses": 64,
"win_pct": 0.49206349206349204,
"runs_scored": 512,
"runs_allowed": 554,
"run_differential": -42,
"run_differential_per_game": -0.3333333333333333,
"available": true
},
"away": {
"team": "WAS",
"games": 127,
"wins": 60,
"losses": 67,
"win_pct": 0.47244094488188976,
"runs_scored": 670,
"runs_allowed": 657,
"run_differential": 13,
"run_differential_per_game": 0.10236220472440945,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.1,
"final_margin": 0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.4405,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.5069,
"final_confidence": 0.5069,
"confidence_cap": 0.66,
"score_gap": 0.1,
"calibration_sample_size": 270,
"calibration_empirical_hit_rate": 0.5037,
"calibration_bayesian_hit_rate": 0.5035,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.4405,
"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": 5,
"home_runs": 4,
"score_text": "WAS 5 - 4 TEX",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "WAS 5 - 1 TEX",
"winner": "WAS"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0,
"recent_form_edge_home_minus_away": -0.504,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": true,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": -3,
"total_run_delta": -3,
"score_source": "simulation_total_with_model_margin_cap",
"simulation_usage": "same_winner_margin_capped",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 3,
"home_runs": 2,
"winner": "WAS",
"model_winner": "WAS",
"simulation_winner": "WAS",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": true,
"model_margin": 1,
"simulation_margin": 4,
"simulation_usage": "same_winner_margin_capped",
"score_source": "simulation_total_with_model_margin_cap",
"model_score": {
"away_runs": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 1
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 4,
"winner_quality_edge": 0.4405,
"winner": "WAS",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 2,
"confidence": 0.51,
"home_win_probability": 0.49,
"away_win_probability": 0.51,
"predicted_score_text": "WAS 3 - 2 TEX",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "WAS",
"original_runs": 3,
"run_delta": -0.1904,
"adjusted_runs": 3,
"lineup": {
"players_used": 8,
"total_weight": 28.0,
"quality": 0.06820478293849586,
"contact": 0.33836891852937717,
"power": 0.4948858274282816,
"discipline": -0.18831166868108684,
"xwoba": 0.32967857142857143,
"recent_xwoba": 0.32967857142857143,
"barrel": 9.632142857142856,
"ab_hard_contact": 0.4037233512867185,
"ab_bat_speed": 70.92770609566465,
"ab_strikeout_rate": 0.2148751481797964,
"available_players": 8,
"top_players": [
{
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "SS",
"weight": 3.0,
"quality": -0.9854827972261041,
"contact": -1.027823885621047,
"power": -1.5374892817140582,
"discipline": 0.45033228059713054,
"xwoba": 0.269,
"recent_xwoba": 0.269,
"barrel": 0.4000000000000001,
"ab_hard_contact": -0.9292142057097411,
"ab_bat_speed": 65.36474169943207,
"ab_strikeout_rate": 0.19342507645259938,
"available": 1.0
},
{
"player_id": "665953",
"player_name": "Andrés Chaparro",
"position": "1B",
"weight": 3.0,
"quality": 0.5040656662449141,
"contact": 0.8027865431642666,
"power": 1.401083426231262,
"discipline": 0.09530696022433316,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 15.3,
"ab_hard_contact": 0.5412875722442794,
"ab_bat_speed": 73.18105902777778,
"ab_strikeout_rate": 0.2767361111111111,
"available": 1.0
},
{
"player_id": "694673",
"player_name": "Abimelec Ortiz",
"position": "DH",
"weight": 3.0,
"quality": 0.2532980405677761,
"contact": 1.362758251993632,
"power": 1.9105693847068677,
"discipline": -0.3935997858074128,
"xwoba": 0.391,
"recent_xwoba": 0.391,
"barrel": 16.7,
"ab_hard_contact": 0.844911503661162,
"ab_bat_speed": 75.44544444444445,
"ab_strikeout_rate": 0.16999999999999998,
"available": 1.0
},
{
"player_id": "691781",
"player_name": "Brady House",
"position": "3B",
"weight": 4.0,
"quality": 0.41261279171960136,
"contact": 0.36606841979408516,
"power": 0.7633700983363693,
"discipline": -0.8665124842201113,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 11.4,
"ab_hard_contact": 0.9493067286321456,
"ab_bat_speed": 72.3891017888637,
"ab_strikeout_rate": 0.2984126984126984,
"available": 1.0
},
{
"player_id": "686611",
"player_name": "Dylan Crews",
"position": "CF",
"weight": 4.0,
"quality": 0.2958894193604333,
"contact": 0.14754847355447792,
"power": 0.6000630902196283,
"discipline": -0.5065230662306934,
"xwoba": 0.319,
"recent_xwoba": 0.319,
"barrel": 10.2,
"ab_hard_contact": 0.6511665662973279,
"ab_bat_speed": 72.60087731481481,
"ab_strikeout_rate": 0.2518518518518518,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "594798",
"player_name": "Jacob deGrom",
"quality": 0.34179472340421846,
"contact": 0.0628549972149646,
"command": 0.7197658730158728,
"movement": 1.018855443686689,
"xwoba": 0.297,
"whiff": 33.4,
"faced_est_woba": 0.26554733936838626,
"faced_launch_speed": 83.81281249999999,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006569135802469128
}
},
"home": {
"team": "TEX",
"original_runs": 4,
"run_delta": 0.11,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.09147559415236406,
"contact": -0.19393774980326653,
"power": 0.09507712474981274,
"discipline": -0.14386947901138228,
"xwoba": 0.3006969696969697,
"recent_xwoba": 0.3006969696969697,
"barrel": 8.354545454545454,
"ab_hard_contact": -0.046719425477444655,
"ab_bat_speed": 69.83211644568765,
"ab_strikeout_rate": 0.2543411217753979,
"available_players": 9,
"top_players": [
{
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"weight": 5.0,
"quality": 1.0028213753206847,
"contact": 1.2339976793645795,
"power": 1.1305766128438488,
"discipline": 0.02052486405253109,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 10.4,
"ab_hard_contact": 0.4153417806865019,
"ab_bat_speed": 71.10955265439509,
"ab_strikeout_rate": 0.20980392156862746,
"available": 1.0
},
{
"player_id": "608369",
"player_name": "Corey Seager",
"position": "SS",
"weight": 4.0,
"quality": 0.6574493048763248,
"contact": 0.35816063807421833,
"power": 1.1592219871895708,
"discipline": 0.011345269137641889,
"xwoba": 0.337,
"recent_xwoba": 0.337,
"barrel": 14.8,
"ab_hard_contact": 0.8861540295056878,
"ab_bat_speed": 70.40384792429792,
"ab_strikeout_rate": 0.2507692307692308,
"available": 1.0
},
{
"player_id": "643376",
"player_name": "Danny Jansen",
"position": "C",
"weight": 3.0,
"quality": -0.6500969621723341,
"contact": -1.4679349604605803,
"power": -0.9183520685582102,
"discipline": -0.2591919713995985,
"xwoba": 0.24900000000000003,
"recent_xwoba": 0.24899999999999997,
"barrel": 5.8,
"ab_hard_contact": -0.7544699425927845,
"ab_bat_speed": 67.74156339031339,
"ab_strikeout_rate": 0.2927350427350427,
"available": 1.0
},
{
"player_id": "683227",
"player_name": "Cody Freeman",
"position": "3B",
"weight": 3.0,
"quality": -0.21979725193404479,
"contact": -2.0,
"power": -2.0,
"discipline": 0.09232878562115845,
"xwoba": 0.187,
"recent_xwoba": 0.187,
"barrel": 0.0,
"ab_hard_contact": -1.2685954109249276,
"ab_bat_speed": 62.66247222222222,
"ab_strikeout_rate": 0.275,
"available": 1.0
},
{
"player_id": "694497",
"player_name": "Evan Carter",
"position": "CF",
"weight": 3.0,
"quality": -0.5244593519227911,
"contact": -0.736938217620881,
"power": -0.5531389626203966,
"discipline": 0.14418592847830122,
"xwoba": 0.286,
"recent_xwoba": 0.286,
"barrel": 5.7,
"ab_hard_contact": -0.8780173476460285,
"ab_bat_speed": 67.64136982570805,
"ab_strikeout_rate": 0.25857142857142856,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "674841",
"player_name": "Andrew Alvarez",
"quality": -0.13920719503551426,
"contact": -0.00803764548289257,
"command": -0.19609126984126996,
"movement": -0.41218298434176975,
"xwoba": 0.326,
"whiff": 26.2,
"faced_est_woba": 0.26554733936838626,
"faced_launch_speed": 83.81281249999999,
"faced_strikeout_rate": 0.2351851851851852,
"faced_run_exp": 0.006569135802469128
}
}
},
"fundamental_edge_target_review": {
"applied": true,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.4405,
"recent_form_edge_home_minus_away": -0.504,
"pitcher_matchup_edge_home_minus_away": 0.0,
"composite_home_edge": -0.1883,
"existing_home_win_probability": 0.505,
"refreshed_home_win_probability": 0.407,
"winner_support_before_review": -0.1883
},
"reasons": [
"flipped low-confidence one-run target away from unsupported side"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 4,
"predicted_score_text": "WAS 5 - 4 TEX",
"confidence": 0.51,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "simulation_total_with_model_margin_cap",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "same_winner_margin_capped",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "WAS 5 - 4 TEX",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "WAS 5 - 1 TEX",
"winner": "WAS"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": 0.0,
"recent_form_edge_home_minus_away": -0.504,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": true,
"simulation_winner_agrees": true,
"away_run_delta": 0,
"home_run_delta": -3,
"total_run_delta": -3,
"score_source": "simulation_total_with_model_margin_cap",
"simulation_usage": "same_winner_margin_capped",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 3,
"home_runs": 2,
"winner": "WAS",
"model_winner": "WAS",
"simulation_winner": "WAS",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": true,
"model_margin": 1,
"simulation_margin": 4,
"simulation_usage": "same_winner_margin_capped",
"score_source": "simulation_total_with_model_margin_cap",
"model_score": {
"away_runs": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 5,
"home_runs": 1
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 4,
"winner_quality_edge": 0.4405,
"winner": "WAS",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "WAS",
"display_confidence": 0.51,
"internal_signal_score": 0.558,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.51,
"confidence_compression_detected": false,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "volatile_margin_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.4405,
"winner_recent_form_edge": 0.504,
"winner_pitcher_matchup_edge": -0.0,
"winner_simulation_draw_rate": 0.5,
"blowout_draw_rate_margin_4_plus": 0.5,
"high_total_draw_rate_11_plus": 0.2,
"low_total_draw_rate_6_or_less": 0.7,
"total_runs_spread": {
"min": 3,
"median": 6,
"max": 13,
"range": 10
}
},
"interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
}
}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 WAS | True | 1.0206 | 1.0231 | 0.8889 | 8 | 1 |
| Home TEX | True | 1.0048 | 1.0048 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Abimelec Ortiz | 279 | 1.0581 | 0.7744 | neutral | 0.3910 | 0.2800 | 0.6230 | 16.70 | 50 | 92.20 | 12.20 | 20.90 | 22.40 | 4.10 | -0.2000 |
| RF | Daylen Lile | 171 | 1.0277 | 0.3698 | neutral | 0.3150 | 0.2530 | 0.4210 | 8.50 | 37 | 88.50 | 18.60 | 23.90 | 19 | 5.60 | 0.3429 |
| CF | Dylan Crews | 313 | 1.0436 | 0.5817 | positive_batter_regression | 0.3190 | 0.2370 | 0.4240 | 10.20 | 43.70 | 90.60 | 13.80 | 30.60 | 23.80 | 6.80 | 0.9429 |
| SS | Nasim Nuñez | 106 | 0.9330 | -0.8933 | neutral | 0.2690 | 0.2230 | 0.2700 | 0.40 | 22 | 85 | 8.10 | 20.80 | 20.40 | 10.60 | 0.0857 |
| LF | Andrew Pinckney | 337 | 1.0374 | 0.4993 | negative_batter_regression | 0.3760 | 0.2520 | 0.4400 | 11.10 | 55.60 | 95.90 | 11.40 | 23.80 | 21.40 | 7.10 | -1.4286 |
| 1B | Andrés Chaparro | 246 | 1.0540 | 0.7207 | neutral | 0.3770 | 0.2500 | 0.5100 | 15.30 | 49.40 | 89.50 | 14.40 | 31.30 | 22.80 | 11.80 | -0.3429 |
| C | Keibert Ruiz | 159 | 0.9739 | -0.3477 | negative_batter_regression | 0.2830 | 0.2440 | 0.3620 | 4.70 | 37.40 | 88.50 | 16.80 | 13.50 | 11.60 | 4.90 | -1.2286 |
| 3B | Brady House | 356 | 1.0573 | 0.7643 | positive_batter_regression | 0.3310 | 0.2620 | 0.4450 | 11.40 | 46.50 | 89.30 | 8.50 | 33 | 28.90 | 6 | 0.8857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Wyatt Langford | 81 | 1.0047 | 0.0626 | negative_batter_regression | 0.3080 | 0.2370 | 0.3990 | 7.80 | 39.30 | 89.70 | 18.10 | 24.50 | 22.80 | 7.80 | -0.8571 |
| LF | Ezequiel Duran | 60 | 0.9901 | -0.1321 | neutral | 0.2980 | 0.2430 | 0.3720 | 6.30 | 36.30 | 88.50 | 11.80 | 27 | 24.40 | 7.10 | -0.7143 |
| 1B | Jake Burger | 125 | 1.0132 | 0.1755 | neutral | 0.3020 | 0.2310 | 0.3990 | 10.90 | 46.60 | 90 | 13.40 | 34 | 26.70 | 7.50 | -0.4000 |
| SS | Corey Seager | 134 | 1.0705 | 0.9397 | neutral | 0.3370 | 0.2330 | 0.4530 | 14.80 | 47.20 | 91.40 | 12.60 | 34.10 | 24.80 | 12.10 | 0.7714 |
| 2B | Justin Foscue | 262 | 1.0152 | 0.2030 | neutral | 0.3190 | 0.2350 | 0.4260 | 10 | 40.90 | 88.90 | 18.70 | 20.40 | 25.60 | 7.70 | -0.7143 |
| RF | Brandon Nimmo | 111 | 1.1019 | 1.3582 | neutral | 0.3640 | 0.2880 | 0.4880 | 10.40 | 51.50 | 92.30 | 11.10 | 21.90 | 21.40 | 7.80 | 0.8000 |
| C | Danny Jansen | 322 | 0.9487 | -0.6838 | neutral | 0.2490 | 0.1650 | 0.2670 | 5.80 | 32.60 | 87.20 | 22.80 | 26.10 | 28.80 | 8.90 | -0.3429 |
| 3B | Cody Freeman | 480 | 0.9269 | -0.9746 | negative_batter_regression | 0.1870 | 0.1380 | 0.1560 | 0 | 15 | 81.40 | 17 | 24.50 | 23.30 | 10 | -2 |
| CF | Evan Carter | 123 | 0.9716 | -0.3784 | neutral | 0.2860 | 0.2020 | 0.3250 | 5.70 | 36 | 87.80 | 17.80 | 28.70 | 24.10 | 11.60 | 0.0857 |
{
"home": {
"applied": true,
"offense_factor": 1.0048,
"raw_average_factor": 1.0048,
"team_espn_average_rank": 188.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "694671",
"player_name": "Wyatt Langford",
"offense_factor": 1.0047,
"quality_score": 0.0626,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694671",
"espn_id": 4719324,
"player_name": "Wyatt Langford",
"team": "TEX",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 81,
"gp_value": 75.0,
"gp_rank": 267,
"ab_value": 292.0,
"ab_rank": 197,
"r_value": 44.0,
"r_rank": 157,
"h_value": 74.0,
"h_rank": 178,
"avg_value": 0.2534246,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 178,
"3b_value": 2.0,
"3b_rank": 61,
"hr_value": 14.0,
"hr_rank": 107,
"rbi_value": 33.0,
"rbi_rank": 215,
"tb_value": 134.0,
"tb_rank": 799,
"bb_value": 25.0,
"bb_rank": 207,
"so_value": 73.0,
"so_rank": 168,
"sb_value": 9.0,
"sb_rank": 85,
"obp_value": 0.31875,
"obp_rank": "-",
"slg_value": 0.4589041,
"slg_rank": "-",
"ops_value": 0.7776541,
"ops_rank": null,
"war_value": 2.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 316.0,
"k_percent": 22.8,
"bb_percent": 7.8,
"woba": 0.338,
"xwoba": 0.308,
"xba": 0.237,
"xslg": 0.399,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 39.3,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 18.1,
"whiff_percent": 24.5,
"swing_percent": 48.9
},
"components": {
"expected_quality": 0.2123,
"regression_edge": -0.8571,
"xwoba_edge": 0.1714,
"xba_edge": 0.0,
"xslg_edge": 0.4429,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.2357,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"offense_factor": 0.9901,
"quality_score": -0.1321,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677649",
"espn_id": 42457,
"player_name": "Ezequiel Duran",
"team": "TEX",
"role": "batter",
"espn_rank": 60,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 60,
"gp_value": 118.0,
"gp_rank": 84,
"ab_value": 410.0,
"ab_rank": 95,
"r_value": 55.0,
"r_rank": 101,
"h_value": 107.0,
"h_rank": 85,
"avg_value": 0.2609756,
"avg_rank": 64.0,
"2b_value": 23.0,
"2b_rank": 49,
"3b_value": 3.0,
"3b_rank": 26,
"hr_value": 13.0,
"hr_rank": 118,
"rbi_value": 64.0,
"rbi_rank": 49,
"tb_value": 175.0,
"tb_rank": 540,
"bb_value": 32.0,
"bb_rank": 162,
"so_value": 110.0,
"so_rank": 60,
"sb_value": 9.0,
"sb_rank": 85,
"obp_value": 0.3155555,
"obp_rank": "103",
"slg_value": 0.4268292,
"slg_rank": "71",
"ops_value": 0.7423847,
"ops_rank": 174.0,
"war_value": 2.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 436.0,
"k_percent": 24.4,
"bb_percent": 7.1,
"woba": 0.323,
"xwoba": 0.298,
"xba": 0.243,
"xslg": 0.372,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 36.3,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 11.8,
"whiff_percent": 27.0,
"swing_percent": 51.4
},
"components": {
"expected_quality": -0.0373,
"regression_edge": -0.7143,
"xwoba_edge": -0.1143,
"xba_edge": 0.1714,
"xslg_edge": 0.0571,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.1929,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "669394",
"player_name": "Jake Burger",
"offense_factor": 1.0132,
"quality_score": 0.1755,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669394",
"espn_id": 39882,
"player_name": "Jake Burger",
"team": "TEX",
"role": "batter",
"espn_rank": 125,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 125,
"gp_value": 120.0,
"gp_rank": 65,
"ab_value": 439.0,
"ab_rank": 74,
"r_value": 52.0,
"r_rank": 114,
"h_value": 105.0,
"h_rank": 90,
"avg_value": 0.2391799,
"avg_rank": 109.0,
"2b_value": 18.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 21.0,
"hr_rank": 34,
"rbi_value": 73.0,
"rbi_rank": 22,
"tb_value": 186.0,
"tb_rank": 849,
"bb_value": 36.0,
"bb_rank": 126,
"so_value": 128.0,
"so_rank": 29,
"sb_value": 2.0,
"sb_rank": 255,
"obp_value": 0.3,
"obp_rank": "129",
"slg_value": 0.4236902,
"slg_rank": "74",
"ops_value": 0.7236902,
"ops_rank": 203.0,
"war_value": 1.65,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 466.0,
"k_percent": 26.7,
"bb_percent": 7.5,
"woba": 0.316,
"xwoba": 0.302,
"xba": 0.231,
"xslg": 0.399,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 46.6,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 13.4,
"whiff_percent": 34.0,
"swing_percent": 50.4
},
"components": {
"expected_quality": 0.2692,
"regression_edge": -0.4,
"xwoba_edge": 0.0,
"xba_edge": -0.1714,
"xslg_edge": 0.4429,
"barrel_edge": 0.9111,
"hard_hit_edge": 1.2786,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "608369",
"player_name": "Corey Seager",
"offense_factor": 1.0705,
"quality_score": 0.9397,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608369",
"espn_id": 32691,
"player_name": "Corey Seager",
"team": "TEX",
"role": "batter",
"espn_rank": 134,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 134,
"gp_value": 67.0,
"gp_rank": 310,
"ab_value": 244.0,
"ab_rank": 243,
"r_value": 37.0,
"r_rank": 192,
"h_value": 52.0,
"h_rank": 260,
"avg_value": 0.2131147,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 267,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 12.0,
"hr_rank": 135,
"rbi_value": 30.0,
"rbi_rank": 235,
"tb_value": 97.0,
"tb_rank": 1474,
"bb_value": 34.0,
"bb_rank": 144,
"so_value": 70.0,
"so_rank": 186,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3120567,
"obp_rank": "-",
"slg_value": 0.3975409,
"slg_rank": "-",
"ops_value": 0.7095976,
"ops_rank": null,
"war_value": 1.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 275.0,
"k_percent": 24.8,
"bb_percent": 12.1,
"woba": 0.31,
"xwoba": 0.337,
"xba": 0.233,
"xslg": 0.453,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 14.8,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 12.6,
"whiff_percent": 34.1,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.9671,
"regression_edge": 0.7714,
"xwoba_edge": 1.0,
"xba_edge": -0.1143,
"xslg_edge": 1.2143,
"barrel_edge": 1.7778,
"hard_hit_edge": 1.3643,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "679822",
"player_name": "Justin Foscue",
"offense_factor": 1.0152,
"quality_score": 0.203,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679822",
"espn_id": 4298639,
"player_name": "Justin Foscue",
"team": "TEX",
"role": "batter",
"espn_rank": 262,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 262,
"gp_value": 70.0,
"gp_rank": 295,
"ab_value": 152.0,
"ab_rank": 347,
"r_value": 17.0,
"r_rank": 356,
"h_value": 39.0,
"h_rank": 319,
"avg_value": 0.2565789,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 305,
"3b_value": 1.0,
"3b_rank": 122,
"hr_value": 8.0,
"hr_rank": 199,
"rbi_value": 23.0,
"rbi_rank": 285,
"tb_value": 72.0,
"tb_rank": 1465,
"bb_value": 13.0,
"bb_rank": 337,
"so_value": 43.0,
"so_rank": 315,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.3214285,
"obp_rank": "-",
"slg_value": 0.4736842,
"slg_rank": "-",
"ops_value": 0.7951127,
"ops_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 155.0,
"k_percent": 25.6,
"bb_percent": 7.7,
"woba": 0.344,
"xwoba": 0.319,
"xba": 0.235,
"xslg": 0.426,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 18.7,
"whiff_percent": 20.4,
"swing_percent": 43.2
},
"components": {
"expected_quality": 0.4514,
"regression_edge": -0.7143,
"xwoba_edge": 0.4857,
"xba_edge": -0.0571,
"xslg_edge": 0.8286,
"barrel_edge": 0.7111,
"hard_hit_edge": 0.4643,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"offense_factor": 1.1019,
"quality_score": 1.3582,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607043",
"espn_id": 32159,
"player_name": "Brandon Nimmo",
"team": "TEX",
"role": "batter",
"espn_rank": 111,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 111,
"gp_value": 121.0,
"gp_rank": 58,
"ab_value": 462.0,
"ab_rank": 42,
"r_value": 52.0,
"r_rank": 114,
"h_value": 125.0,
"h_rank": 29,
"avg_value": 0.2705627,
"avg_rank": 43.0,
"2b_value": 28.0,
"2b_rank": 9,
"3b_value": 4.0,
"3b_rank": 15,
"hr_value": 13.0,
"hr_rank": 118,
"rbi_value": 48.0,
"rbi_rank": 118,
"tb_value": 200.0,
"tb_rank": 422,
"bb_value": 40.0,
"bb_rank": 102,
"so_value": 109.0,
"so_rank": 61,
"sb_value": 6.0,
"sb_rank": 139,
"obp_value": 0.3352941,
"obp_rank": "68",
"slg_value": 0.4329004,
"slg_rank": "68",
"ops_value": 0.7681945,
"ops_rank": 136.0,
"war_value": 1.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 500.0,
"k_percent": 21.4,
"bb_percent": 7.8,
"woba": 0.336,
"xwoba": 0.364,
"xba": 0.288,
"xslg": 0.488,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 10.4,
"hard_hit_percent": 51.5,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 11.1,
"whiff_percent": 21.9,
"swing_percent": 50.8
},
"components": {
"expected_quality": 1.4491,
"regression_edge": 0.8,
"xwoba_edge": 1.7714,
"xba_edge": 1.4571,
"xslg_edge": 1.7143,
"barrel_edge": 0.8,
"hard_hit_edge": 1.9786,
"exit_velocity_edge": 1.48,
"sweet_spot_edge": 0.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "643376",
"player_name": "Danny Jansen",
"offense_factor": 0.9487,
"quality_score": -0.6838,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643376",
"espn_id": 35004,
"player_name": "Danny Jansen",
"team": "TEX",
"role": "batter",
"espn_rank": 322,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 322,
"gp_value": 42.0,
"gp_rank": 398,
"ab_value": 127.0,
"ab_rank": 376,
"r_value": 11.0,
"r_rank": 411,
"h_value": 21.0,
"h_rank": 412,
"avg_value": 0.1653543,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 331,
"3b_value": 1.0,
"3b_rank": 122,
"hr_value": 3.0,
"hr_rank": 347,
"rbi_value": 12.0,
"rbi_rank": 379,
"tb_value": 38.0,
"tb_rank": 2028,
"bb_value": 13.0,
"bb_rank": 337,
"so_value": 42.0,
"so_rank": 323,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.2689655,
"obp_rank": "-",
"slg_value": 0.2992125,
"slg_rank": "-",
"ops_value": 0.568178,
"ops_rank": null,
"war_value": 0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 138.0,
"k_percent": 28.8,
"bb_percent": 8.9,
"woba": 0.261,
"xwoba": 0.249,
"xba": 0.165,
"xslg": 0.267,
"sweet_spot_percent": 22.1,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 32.6,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 22.8,
"whiff_percent": 26.1,
"swing_percent": 44.7
},
"components": {
"expected_quality": -1.2117,
"regression_edge": -0.3429,
"xwoba_edge": -1.5143,
"xba_edge": -2.0571,
"xslg_edge": -1.4429,
"barrel_edge": -0.2222,
"hard_hit_edge": -0.7214,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": -1.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "683227",
"player_name": "Cody Freeman",
"offense_factor": 0.9269,
"quality_score": -0.9746,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683227",
"espn_id": 42925,
"player_name": "Cody Freeman",
"team": "TEX",
"role": "batter",
"espn_rank": 480,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 480,
"gp_value": 11.0,
"gp_rank": 555,
"ab_value": 26.0,
"ab_rank": 547,
"r_value": 1.0,
"r_rank": 568,
"h_value": 7.0,
"h_rank": 516,
"avg_value": 0.2692307,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 556,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 0.0,
"hr_rank": 515,
"rbi_value": 1.0,
"rbi_rank": 564,
"tb_value": 7.0,
"tb_rank": 3159,
"bb_value": 3.0,
"bb_rank": 483,
"so_value": 7.0,
"so_rank": 551,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.3448275,
"obp_rank": "-",
"slg_value": 0.2692307,
"slg_rank": "-",
"ops_value": 0.6140582,
"ops_rank": null,
"war_value": -0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 28.0,
"k_percent": 23.3,
"bb_percent": 10.0,
"woba": 0.287,
"xwoba": 0.187,
"xba": 0.138,
"xslg": 0.156,
"sweet_spot_percent": 20.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 15.0,
"exit_velocity_avg": 81.4,
"launch_angle_avg": 17.0,
"whiff_percent": 24.5,
"swing_percent": 43.4
},
"components": {
"expected_quality": -2.1928,
"regression_edge": -2.0,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": -1.5111,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": -2.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "694497",
"player_name": "Evan Carter",
"offense_factor": 0.9716,
"quality_score": -0.3784,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694497",
"espn_id": 4917921,
"player_name": "Evan Carter",
"team": "TEX",
"role": "batter",
"espn_rank": 123,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 123,
"gp_value": 108.0,
"gp_rank": 136,
"ab_value": 307.0,
"ab_rank": 181,
"r_value": 41.0,
"r_rank": 172,
"h_value": 60.0,
"h_rank": 236,
"avg_value": 0.1954397,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 229,
"3b_value": 2.0,
"3b_rank": 61,
"hr_value": 8.0,
"hr_rank": 199,
"rbi_value": 31.0,
"rbi_rank": 227,
"tb_value": 99.0,
"tb_rank": 1184,
"bb_value": 42.0,
"bb_rank": 89,
"so_value": 87.0,
"so_rank": 118,
"sb_value": 14.0,
"sb_rank": 51,
"obp_value": 0.299435,
"obp_rank": "-",
"slg_value": 0.3224755,
"slg_rank": "-",
"ops_value": 0.6219105,
"ops_rank": null,
"war_value": 1.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 348.0,
"k_percent": 24.1,
"bb_percent": 11.6,
"woba": 0.283,
"xwoba": 0.286,
"xba": 0.202,
"xslg": 0.325,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 17.8,
"whiff_percent": 28.7,
"swing_percent": 40.2
},
"components": {
"expected_quality": -0.454,
"regression_edge": 0.0857,
"xwoba_edge": -0.4571,
"xba_edge": -1.0,
"xslg_edge": -0.6143,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.2357,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.65,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0206,
"raw_average_factor": 1.0231,
"team_espn_average_rank": 245.88,
"coverage_weight": 0.8889,
"covered_batters": 8,
"missing_batters": 1,
"players": [
{
"position": "DH",
"player_id": "694673",
"player_name": "Abimelec Ortiz",
"offense_factor": 1.0581,
"quality_score": 0.7744,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694673",
"espn_id": 5194635,
"player_name": "Abimelec Ortiz",
"team": "WSH",
"role": "batter",
"espn_rank": 279,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 279,
"gp_value": 16.0,
"gp_rank": 510,
"ab_value": 47.0,
"ab_rank": 496,
"r_value": 7.0,
"r_rank": 457,
"h_value": 13.0,
"h_rank": 463,
"avg_value": 0.2765957,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 5.0,
"hr_rank": 281,
"rbi_value": 9.0,
"rbi_rank": 424,
"tb_value": 30.0,
"tb_rank": 2308,
"bb_value": 2.0,
"bb_rank": 506,
"so_value": 11.0,
"so_rank": 508,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.3061224,
"obp_rank": "-",
"slg_value": 0.6382978,
"slg_rank": "-",
"ops_value": 0.9444202,
"ops_rank": null,
"war_value": 0.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 44.0,
"k_percent": 22.4,
"bb_percent": 4.1,
"woba": 0.398,
"xwoba": 0.391,
"xba": 0.28,
"xslg": 0.623,
"sweet_spot_percent": 47.2,
"barrel_batted_rate": 16.7,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 12.2,
"whiff_percent": 20.9,
"swing_percent": 50.5
},
"components": {
"expected_quality": 2.0335,
"regression_edge": -0.2,
"xwoba_edge": 2.5,
"xba_edge": 1.2286,
"xslg_edge": 2.5,
"barrel_edge": 2.2,
"hard_hit_edge": 1.7643,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": 2.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "695734",
"player_name": "Daylen Lile",
"offense_factor": 1.0277,
"quality_score": 0.3698,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695734",
"espn_id": 4917889,
"player_name": "Daylen Lile",
"team": "WSH",
"role": "batter",
"espn_rank": 171,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 171,
"gp_value": 126.0,
"gp_rank": 14,
"ab_value": 482.0,
"ab_rank": 17,
"r_value": 62.0,
"r_rank": 63,
"h_value": 117.0,
"h_rank": 46,
"avg_value": 0.2427385,
"avg_rank": 99.0,
"2b_value": 23.0,
"2b_rank": 49,
"3b_value": 5.0,
"3b_rank": 11,
"hr_value": 15.0,
"hr_rank": 95,
"rbi_value": 65.0,
"rbi_rank": 47,
"tb_value": 195.0,
"tb_rank": 402,
"bb_value": 29.0,
"bb_rank": 180,
"so_value": 99.0,
"so_rank": 85,
"sb_value": 12.0,
"sb_rank": 58,
"obp_value": 0.2917466,
"obp_rank": "140",
"slg_value": 0.4045643,
"slg_rank": "95",
"ops_value": 0.6963109,
"ops_rank": 45.0,
"war_value": 1.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 509.0,
"k_percent": 19.0,
"bb_percent": 5.6,
"woba": 0.303,
"xwoba": 0.315,
"xba": 0.253,
"xslg": 0.421,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 37.0,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 18.6,
"whiff_percent": 23.9,
"swing_percent": 56.0
},
"components": {
"expected_quality": 0.3742,
"regression_edge": 0.3429,
"xwoba_edge": 0.3714,
"xba_edge": 0.4571,
"xslg_edge": 0.7571,
"barrel_edge": 0.3778,
"hard_hit_edge": -0.0929,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "686611",
"player_name": "Dylan Crews",
"offense_factor": 1.0436,
"quality_score": 0.5817,
"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": 313,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 313,
"gp_value": 76.0,
"gp_rank": 263,
"ab_value": 279.0,
"ab_rank": 209,
"r_value": 40.0,
"r_rank": 177,
"h_value": 59.0,
"h_rank": 238,
"avg_value": 0.2114695,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 10.0,
"hr_rank": 160,
"rbi_value": 27.0,
"rbi_rank": 263,
"tb_value": 100.0,
"tb_rank": 1489,
"bb_value": 21.0,
"bb_rank": 243,
"so_value": 73.0,
"so_rank": 168,
"sb_value": 8.0,
"sb_rank": 101,
"obp_value": 0.2833876,
"obp_rank": "-",
"slg_value": 0.3584229,
"slg_rank": "-",
"ops_value": 0.6418105,
"ops_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 300.0,
"k_percent": 23.8,
"bb_percent": 6.8,
"woba": 0.286,
"xwoba": 0.319,
"xba": 0.237,
"xslg": 0.424,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 43.7,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 13.8,
"whiff_percent": 30.6,
"swing_percent": 51.7
},
"components": {
"expected_quality": 0.5229,
"regression_edge": 0.9429,
"xwoba_edge": 0.4857,
"xba_edge": 0.0,
"xslg_edge": 0.8,
"barrel_edge": 0.7556,
"hard_hit_edge": 0.8643,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"offense_factor": 0.933,
"quality_score": -0.8933,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683083",
"espn_id": 4728688,
"player_name": "Nasim Nunez",
"team": "WSH",
"role": "batter",
"espn_rank": 106,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 106,
"gp_value": 117.0,
"gp_rank": 95,
"ab_value": 363.0,
"ab_rank": 129,
"r_value": 46.0,
"r_rank": 142,
"h_value": 82.0,
"h_rank": 151,
"avg_value": 0.2258953,
"avg_rank": 127.0,
"2b_value": 4.0,
"2b_rank": 390,
"3b_value": 3.0,
"3b_rank": 26,
"hr_value": 1.0,
"hr_rank": 444,
"rbi_value": 34.0,
"rbi_rank": 209,
"tb_value": 95.0,
"tb_rank": 1925,
"bb_value": 44.0,
"bb_rank": 83,
"so_value": 85.0,
"so_rank": 129,
"sb_value": 40.0,
"sb_rank": 1,
"obp_value": 0.309756,
"obp_rank": "114",
"slg_value": 0.2617079,
"slg_rank": "153",
"ops_value": 0.5714639,
"ops_rank": 39.0,
"war_value": 1.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 400.0,
"k_percent": 20.4,
"bb_percent": 10.6,
"woba": 0.266,
"xwoba": 0.269,
"xba": 0.223,
"xslg": 0.27,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 0.4,
"hard_hit_percent": 22.0,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 8.1,
"whiff_percent": 20.8,
"swing_percent": 46.9
},
"components": {
"expected_quality": -1.0526,
"regression_edge": 0.0857,
"xwoba_edge": -0.9429,
"xba_edge": -0.4,
"xslg_edge": -1.4,
"barrel_edge": -1.4222,
"hard_hit_edge": -2.2357,
"exit_velocity_edge": -1.44,
"sweet_spot_edge": -0.65,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "687605",
"player_name": "Andrew Pinckney",
"offense_factor": 1.0374,
"quality_score": 0.4993,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "687605",
"espn_id": 5201571,
"player_name": "Andrew Pinckney",
"team": "WSH",
"role": "batter",
"espn_rank": 337,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 337,
"gp_value": 8.0,
"gp_rank": 576,
"ab_value": 11.0,
"ab_rank": 592,
"r_value": 5.0,
"r_rank": 484,
"h_value": 3.0,
"h_rank": 563,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 556,
"3b_value": 1.0,
"3b_rank": 122,
"hr_value": 1.0,
"hr_rank": 444,
"rbi_value": 2.0,
"rbi_rank": 534,
"tb_value": 8.0,
"tb_rank": 2695,
"bb_value": 1.0,
"bb_rank": 539,
"so_value": 3.0,
"so_rank": 589,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3571428,
"obp_rank": "-",
"slg_value": 0.7272727,
"slg_rank": "-",
"ops_value": 1.0844156,
"ops_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 13.0,
"k_percent": 21.4,
"bb_percent": 7.1,
"woba": 0.426,
"xwoba": 0.376,
"xba": 0.252,
"xslg": 0.44,
"sweet_spot_percent": 44.4,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 55.6,
"exit_velocity_avg": 95.9,
"launch_angle_avg": 11.4,
"whiff_percent": 23.8,
"swing_percent": 42.0
},
"components": {
"expected_quality": 1.5228,
"regression_edge": -1.4286,
"xwoba_edge": 2.1143,
"xba_edge": 0.4286,
"xslg_edge": 1.0286,
"barrel_edge": 0.9556,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 1.85,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "665953",
"player_name": "Andrés Chaparro",
"offense_factor": 1.054,
"quality_score": 0.7207,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665953",
"espn_id": 42949,
"player_name": "Andres Chaparro",
"team": "WSH",
"role": "batter",
"espn_rank": 246,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 246,
"gp_value": 56.0,
"gp_rank": 348,
"ab_value": 116.0,
"ab_rank": 389,
"r_value": 26.0,
"r_rank": 268,
"h_value": 29.0,
"h_rank": 375,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 247,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 8.0,
"hr_rank": 199,
"rbi_value": 32.0,
"rbi_rank": 219,
"tb_value": 63.0,
"tb_rank": 1761,
"bb_value": 16.0,
"bb_rank": 301,
"so_value": 31.0,
"so_rank": 380,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.3602941,
"obp_rank": "-",
"slg_value": 0.5431034,
"slg_rank": "-",
"ops_value": 0.9033975,
"ops_rank": null,
"war_value": 0.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 126.0,
"k_percent": 22.8,
"bb_percent": 11.8,
"woba": 0.389,
"xwoba": 0.377,
"xba": 0.25,
"xslg": 0.51,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 15.3,
"hard_hit_percent": 49.4,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 14.4,
"whiff_percent": 31.3,
"swing_percent": 46.4
},
"components": {
"expected_quality": 1.519,
"regression_edge": -0.3429,
"xwoba_edge": 2.1429,
"xba_edge": 0.3714,
"xslg_edge": 2.0286,
"barrel_edge": 1.8889,
"hard_hit_edge": 1.6786,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -0.65,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"offense_factor": 0.9739,
"quality_score": -0.3477,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "660688",
"espn_id": 38827,
"player_name": "Keibert Ruiz",
"team": "WSH",
"role": "batter",
"espn_rank": 159,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 159,
"gp_value": 82.0,
"gp_rank": 243,
"ab_value": 265.0,
"ab_rank": 220,
"r_value": 37.0,
"r_rank": 192,
"h_value": 74.0,
"h_rank": 178,
"avg_value": 0.2792452,
"avg_rank": null,
"2b_value": 21.0,
"2b_rank": 71,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 42.0,
"rbi_rank": 159,
"tb_value": 116.0,
"tb_rank": 1448,
"bb_value": 14.0,
"bb_rank": 324,
"so_value": 33.0,
"so_rank": 366,
"sb_value": 2.0,
"sb_rank": 255,
"obp_value": 0.3169014,
"obp_rank": "-",
"slg_value": 0.4377358,
"slg_rank": "-",
"ops_value": 0.7546372,
"ops_rank": null,
"war_value": 1.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 276.0,
"k_percent": 11.6,
"bb_percent": 4.9,
"woba": 0.326,
"xwoba": 0.283,
"xba": 0.244,
"xslg": 0.362,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 37.4,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 16.8,
"whiff_percent": 13.5,
"swing_percent": 52.0
},
"components": {
"expected_quality": -0.2043,
"regression_edge": -1.2286,
"xwoba_edge": -0.5429,
"xba_edge": 0.2,
"xslg_edge": -0.0857,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.0357,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691781",
"player_name": "Brady House",
"offense_factor": 1.0573,
"quality_score": 0.7643,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691781",
"espn_id": 4872681,
"player_name": "Brady House",
"team": "WSH",
"role": "batter",
"espn_rank": 356,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 356,
"gp_value": 65.0,
"gp_rank": 316,
"ab_value": 230.0,
"ab_rank": 256,
"r_value": 31.0,
"r_rank": 240,
"h_value": 54.0,
"h_rank": 253,
"avg_value": 0.2347826,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 247,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 9.0,
"hr_rank": 182,
"rbi_value": 31.0,
"rbi_rank": 227,
"tb_value": 91.0,
"tb_rank": 1082,
"bb_value": 15.0,
"bb_rank": 320,
"so_value": 72.0,
"so_rank": 172,
"sb_value": 2.0,
"sb_rank": 255,
"obp_value": 0.2891566,
"obp_rank": "-",
"slg_value": 0.3956521,
"slg_rank": "-",
"ops_value": 0.6848087,
"ops_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 247.0,
"k_percent": 28.9,
"bb_percent": 6.0,
"woba": 0.3,
"xwoba": 0.331,
"xba": 0.262,
"xslg": 0.445,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 46.5,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 8.5,
"whiff_percent": 33.0,
"swing_percent": 51.6
},
"components": {
"expected_quality": 0.7445,
"regression_edge": 0.8857,
"xwoba_edge": 0.8286,
"xba_edge": 0.7143,
"xslg_edge": 1.1,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.2643,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.2,
"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 WAS | True | 111 | -0.1583 | 1 | 1.0135 | 1.0034 | 1.0280 | 1.0062 | neutral | 0.3260 | 0.3000 | 21.80 | 10.40 | 26.20 | 5.20 | 42.50 | |
| Home TEX | True | 76 | 0.2476 | 1 | 0.9790 | 1.0886 | 0.9440 | 1.0631 | neutral | 0.2970 | 0.2930 | 29.50 | 6.20 | 33.40 | 8.80 | 45.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away WAS | True | None | 69 | 87.12 | 2506 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1564 | |
| Home TEX | True | None | 90 | 93.01 | 2443 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1735 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9790 |
| home_runs_vs_away_pitcher | 1.0135 |
| home_pitcher_quality_edge | 0.4059 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "594798",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 482.0,
"k_percent": 29.5,
"bb_percent": 6.2,
"woba": 0.293,
"xwoba": 0.297,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 45.6,
"avg_best_speed": 80.5919,
"avg_hyper_speed": 94.8051,
"whiff_percent": 33.4,
"swing_percent": 51.7
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.0362,
"command_and_miss": 1.0207,
"regression_edge": -0.1143,
"xwoba_edge": 0.4286,
"barrel_edge": -0.3778,
"hard_hit_edge": -1.1429,
"whiff_edge": 1.1571,
"bb_edge": 0.7,
"pitch_design_score": 0.1735
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "594798",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 93.01139384257452,
"release_spin_rate": 2443.0269746624076,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 93.01139384257452,
"release_spin_rate": 2443.0269746624076,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.0114,
"release_spin_rate": 2443.027,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1735,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2393,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2476,
"sample_weight": 1.0,
"run_prevention_factor": 0.979,
"strikeout_factor": 1.0886,
"walk_factor": 0.944,
"homer_factor": 1.0631,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594798",
"espn_id": 32796,
"player_name": "Jacob deGrom",
"team": "TEX",
"role": "pitcher",
"espn_rank": 76,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 76,
"gp_value": 23.0,
"gp_rank": 303,
"gs_value": 23.0,
"gs_rank": 49,
"qs_value": 8.0,
"qs_rank": 65,
"era_value": 3.953,
"era_rank": null,
"w_value": 8.0,
"w_rank": 43,
"l_value": 8.0,
"l_rank": 33,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 120.2,
"ip_rank": 70,
"h_value": 110.0,
"h_rank": 73,
"er_value": 53.0,
"er_rank": 65,
"hr_value": 17.0,
"hr_rank": 45,
"bb_value": 31.0,
"bb_rank": 123,
"k_value": 147.0,
"k_rank": 19,
"k_per_9_value": 10.964088,
"k_per_9_rank": 7.0,
"whip_value": 1.1685,
"whip_rank": null,
"war_value": 1.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "674841",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 281.0,
"k_percent": 21.8,
"bb_percent": 10.4,
"woba": 0.3,
"xwoba": 0.326,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 42.5,
"avg_best_speed": 78.4763,
"avg_hyper_speed": 94.8231,
"whiff_percent": 26.2,
"swing_percent": 44.8
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1071,
"command_and_miss": -0.0443,
"regression_edge": -0.7429,
"xwoba_edge": -0.4,
"barrel_edge": 0.4222,
"hard_hit_edge": -0.7,
"whiff_edge": 0.1286,
"bb_edge": -0.35,
"pitch_design_score": -0.1564
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "674841",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 69,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 69,
"pitch_usage": 0.0,
"release_speed": 87.12083909585115,
"release_spin_rate": 2505.909496129685,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 69,
"pitch_usage": 0.0,
"release_speed": 87.12083909585115,
"release_spin_rate": 2505.909496129685,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.1208,
"release_spin_rate": 2505.9095,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1564,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1169,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1583,
"sample_weight": 1.0,
"run_prevention_factor": 1.0135,
"strikeout_factor": 1.0034,
"walk_factor": 1.028,
"homer_factor": 1.0062,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "674841",
"espn_id": 4300668,
"player_name": "Andrew Alvarez",
"team": "WSH",
"role": "pitcher",
"espn_rank": 111,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 111,
"gp_value": 18.0,
"gp_rank": 378,
"gs_value": 10.0,
"gs_rank": 161,
"qs_value": 1.0,
"qs_rank": 171,
"era_value": 3.72,
"era_rank": null,
"w_value": 2.0,
"w_rank": 286,
"l_value": 4.0,
"l_rank": 151,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 2.0,
"hld_rank": 216,
"ip_value": 75.0,
"ip_rank": 148,
"h_value": 67.0,
"h_rank": 153,
"er_value": 31.0,
"er_rank": 166,
"hr_value": 3.0,
"hr_rank": 403,
"bb_value": 33.0,
"bb_rank": 105,
"k_value": 69.0,
"k_rank": 155,
"k_per_9_value": 8.280001,
"k_per_9_rank": 28.0,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": 1.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.979,
"home_runs_vs_away_pitcher": 1.0135,
"home_pitcher_quality_edge": 0.4059
},
"score_before": {
"away_runs": 3.65,
"home_runs": 4.2357
},
"score_after": {
"away_runs": 3.5734,
"home_runs": 4.2928,
"home_win_probability": 0.5685
},
"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 WAS | 4-6 | 0.400 | 4.80 | 4.10 | 7 | 1W | average | average |
| Home TEX | 3-7 | 0.300 | 2.80 | 4.80 | -20 | 1L | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away WAS | 60-67 | 0.472 | 13 | 0.102 | True |
| Home TEX | 62-64 | 0.492 | -42 | -0.333 | True |
| Signal | - | - | -0.436 | -0.441 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-08-19 | WAS @ TEX | 6 - 0 | WAS | 6 | blowout |
| 2026-08-18 | WAS @ TEX | 0 - 5 | TEX | 5 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target WAS | - | - | 5 | - | - | - | - |
| Game target TEX | - | - | 4 | - | - | - | - |
| Player finalized WAS | 31 | 9 | 2 | 0 | 4 | 0 | 8 |
| Player finalized TEX | 33 | 9 | 2 | 0 | 2 | 0 | 9 |
| Player model fractional WAS | 29.68 | 6.89 | 4.40 | 1.10 | 4.09 | 2.24 | 6.82 |
| Player model fractional TEX | 30.64 | 6.92 | 3.50 | 1.06 | 3.52 | 2.83 | 8.16 |
| Simulation box WAS | 37 | 10 | 5 | 1 | 5 | 0 | 9 |
| Simulation box TEX | 31 | 4 | 1 | 1 | 1 | 4 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away WAS | Starter | Andrew Alvarez | 5.10 | 0 | 4 | 3 | 3 | 3.71 | 1.24 | True |
| Away WAS | Middle Reliever | Clayton Beeter | 1.20 | 0 | 1 | 0 | 1 | 2.77 | 1.17 | True |
| Away WAS | Middle Reliever | Orlando Ribalta | 1 | 0 | 1 | 0 | 0 | 3.45 | 1.12 | True |
| Away WAS | Middle Reliever | Tom Cosgrove | 1 | 1 | 1 | 1 | 0 | 4.44 | 1.29 | True |
| Home TEX | Starter | Jacob deGrom | 5 | 2 | 4 | 3 | 0 | 5.23 | 1.56 | True |
| Home TEX | Middle Reliever | Jacob Latz | 1.10 | 0 | 2 | 0 | 0 | 2.50 | 1.11 | True |
| Home TEX | Middle Reliever | Peyton Gray | 1 | 0 | 0 | 1 | 0 | 5.97 | 1.47 | True |
| Home TEX | Middle Reliever | Robby Ahlstrom | 1 | 0 | 2 | 2 | 0 | 5.31 | 1.23 | True |
| Home TEX | Middle Reliever | Chase Silseth | 0.20 | 3 | 1 | 4 | 0 | 3.27 | 1.27 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | TEX | batter | LF | Ezequiel Duran | worse | 11 | 6 | 5 | 5 | 6 | predicted_H | 2.0780 | boost | better |
| away | WAS | batter | LF | Andrew Pinckney | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | 1.5000 | boost | better |
| away | WAS | batter | 1B | Andrés Chaparro | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.5000 | boost | better |
| home | TEX | batter | 2B | Justin Foscue | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 1.5000 | boost | better |
| home | TEX | batter | 3B | Cody Freeman | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | 1.5000 | boost | better |
| away | WAS | batter | SS | Nasim Nuñez | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 1.2610 | boost | better |
| away | WAS | batter | RF | Daylen Lile | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.2140 | boost | worse |
| away | WAS | batter | DH | Abimelec Ortiz | worse | 9 | 4 | 5 | 3 | 6 | predicted_H | 1.1880 | boost | better |
| away | WAS | batter | 2B | Jose F Miranda | worse | 9 | 5 | 4 | 4 | 5 | predicted_H | 1.1580 | boost | better |
| home | TEX | batter | RF | Brandon Nimmo | worse | 9 | 1 | 8 | 0 | 9 | predicted_SO | 1.0990 | boost | worse |
| home | TEX | batter | 1B | Jake Burger | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.0670 | deboost | better |
| home | TEX | batter | SS | Corey Seager | worse | 9 | 2 | 7 | 3 | 6 | predicted_SO | -1.0610 | deboost | better |
| home | TEX | batter | DH | Wyatt Langford | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.0270 | boost | worse |
| away | WAS | batter | CF | Dylan Crews | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.9860 | deboost | better |
| away | WAS | batter | 3B | Brady House | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 0.8750 | boost | worse |
| home | TEX | batter | CF | Evan Carter | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | -0.8690 | deboost | worse |
| away | WAS | batter | C | Keibert Ruiz | better | 11 | 6 | 5 | 7 | 4 | predicted_2B | 0.7370 | boost | better |
| home | TEX | batter | C | Danny Jansen | worse | 8 | 1 | 7 | 1 | 7 | predicted_BB | 0.6830 | boost | better |
| home | TEX | pitcher | Middle Reliever | Chase Silseth | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | WAS | pitcher | Starter | Andrew Alvarez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | TEX | pitcher | Middle Reliever | Jacob Latz | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | WAS | pitcher | Middle Reliever | Clayton Beeter | 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 | Andrew Alvarez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1583 |
| ESPN Rank | 111 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1564 |
| Avg Velo | 87.1208 |
| Avg Spin | 2505.9095 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 0 |
| Pre H | 3 |
| Pre BB | 3 |
| Pre SO | 4 |
| Season ERA | 3.7200 |
| Season WHIP | 1.3333 |
| Role Avg IP | 4.8330 |
| Recent Avg IP | 5.4670 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"opponent": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"edges": {
"quality_edge": 0.0534,
"offense_edge": 0.1344,
"opponent_offense_edge": -0.0914,
"defense_strength": -0.1093,
"opponent_defense_weakness": -0.0181,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0025,
"run_prevention": 0.9936,
"strikeout": 1.0089
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "674841",
"profile": {
"available": true,
"pitcher_id": "674841",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 281.0,
"k_percent": 21.8,
"bb_percent": 10.4,
"woba": 0.3,
"xwoba": 0.326,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 42.5,
"avg_best_speed": 78.4763,
"avg_hyper_speed": 94.8231,
"whiff_percent": 26.2,
"swing_percent": 44.8
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1071,
"command_and_miss": -0.0443,
"regression_edge": -0.7429,
"xwoba_edge": -0.4,
"barrel_edge": 0.4222,
"hard_hit_edge": -0.7,
"whiff_edge": 0.1286,
"bb_edge": -0.35,
"pitch_design_score": -0.1564
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "674841",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 69,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 69,
"pitch_usage": 0.0,
"release_speed": 87.12083909585115,
"release_spin_rate": 2505.909496129685,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 69,
"pitch_usage": 0.0,
"release_speed": 87.12083909585115,
"release_spin_rate": 2505.909496129685,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.1208,
"release_spin_rate": 2505.9095,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1564,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1169,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1583,
"sample_weight": 1.0,
"run_prevention_factor": 1.0135,
"strikeout_factor": 1.0034,
"walk_factor": 1.028,
"homer_factor": 1.0062,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "674841",
"espn_id": 4300668,
"player_name": "Andrew Alvarez",
"team": "WSH",
"role": "pitcher",
"espn_rank": 111,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 111,
"gp_value": 18.0,
"gp_rank": 378,
"gs_value": 10.0,
"gs_rank": 161,
"qs_value": 1.0,
"qs_rank": 171,
"era_value": 3.72,
"era_rank": null,
"w_value": 2.0,
"w_rank": 286,
"l_value": 4.0,
"l_rank": 151,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 2.0,
"hld_rank": 216,
"ip_value": 75.0,
"ip_rank": 148,
"h_value": 67.0,
"h_rank": 153,
"er_value": 31.0,
"er_rank": 166,
"hr_value": 3.0,
"hr_rank": 403,
"bb_value": 33.0,
"bb_rank": 105,
"k_value": 69.0,
"k_rank": 155,
"k_per_9_value": 8.280001,
"k_per_9_rank": 28.0,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": 1.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0135,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0135,
"adjusted": 4
},
"predicted_BB": {
"original": 3.0,
"factor": 1.028,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0062,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0034,
"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": 46.2,
"ER": 20,
"H": 38,
"BB": 21,
"SO": 38,
"HR": 1,
"ERA": 3.857142857142857,
"WHIP": 1.2642857142857145,
"K9": 7.328571428571429,
"HR9": 0.19285714285714287,
"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-08-14T00:00:00"
}{
"available": true,
"pitcher_id": "674841",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 69,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 69,
"pitch_usage": 0.0,
"release_speed": 87.12083909585115,
"release_spin_rate": 2505.909496129685,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 69,
"pitch_usage": 0.0,
"release_speed": 87.12083909585115,
"release_spin_rate": 2505.909496129685,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.1208,
"release_spin_rate": 2505.9095,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1564,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1169,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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": "674841",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 9.0,
"R": 9.0,
"H": 18.0,
"BB": 11.0,
"SO": 16.0,
"HR": 1.0,
"BF": 105.0,
"Pitches": 381.0
},
"per_game": {
"IP": 5.1,
"ER": 1.8,
"R": 1.8,
"H": 3.6,
"BB": 2.2,
"SO": 3.2,
"HR": 0.2,
"BF": 21.0,
"Pitches": 76.2
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.1154,
"ER_per_IP": 0.34615,
"H_per_IP": 0.69231,
"BB_per_IP": 0.42308,
"SO_per_IP": 0.61538,
"HR_per_IP": 0.03846
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 46.2,
"ER": 20.0,
"R": 20.0,
"H": 38.0,
"BB": 21.0,
"SO": 38.0,
"HR": 1.0,
"BF": 196.0,
"Pitches": 748.0
},
"per_game": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 3.8,
"BB": 2.1,
"SO": 3.8,
"HR": 0.1,
"BF": 19.6,
"Pitches": 74.8
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.2643,
"ER_per_IP": 0.42857,
"H_per_IP": 0.81429,
"BB_per_IP": 0.45,
"SO_per_IP": 0.81429,
"HR_per_IP": 0.02143
}
},
"season": {
"games": 18,
"totals": {
"IP": 75.0,
"ER": 31.0,
"R": 31.0,
"H": 67.0,
"BB": 33.0,
"SO": 69.0,
"HR": 3.0,
"BF": 317.0,
"Pitches": 1236.0
},
"per_game": {
"IP": 4.0,
"ER": 1.7222,
"R": 1.7222,
"H": 3.7222,
"BB": 1.8333,
"SO": 3.8333,
"HR": 0.1667,
"BF": 17.6111,
"Pitches": 68.6667
},
"rates": {
"ERA": 3.72,
"WHIP": 1.3333,
"ER_per_IP": 0.41333,
"H_per_IP": 0.89333,
"BB_per_IP": 0.44,
"SO_per_IP": 0.92,
"HR_per_IP": 0.04
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.04,
"predicted_H": 4.043,
"predicted_BB": 2.079,
"predicted_SO": 3.91,
"predicted_HR": 0.285,
"predicted_ERA": 3.7146,
"predicted_WHIP": 1.2387
}
}{
"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.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.04,
"final": 1.1386,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.043,
"final": 3.5821,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.079,
"final": 2.4859,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.91,
"final": 3.9498,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.285,
"final": 0.1591,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7146,
"final": 3.7146,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2387,
"final": 1.2387,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.0763 |
| ESPN Rank | 198 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0460 |
| Avg Velo | 90.7352 |
| Avg Spin | 2613.0454 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.0789 |
| Season WHIP | 1.1842 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"opponent": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"edges": {
"quality_edge": 0.0534,
"offense_edge": 0.1344,
"opponent_offense_edge": -0.0914,
"defense_strength": -0.1093,
"opponent_defense_weakness": -0.0181,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0025,
"run_prevention": 0.9936,
"strikeout": 1.0089
},
"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": 149.0,
"k_percent": 24.4,
"bb_percent": 15.0,
"woba": 0.294,
"xwoba": 0.323,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 43.2,
"avg_best_speed": 79.8069,
"avg_hyper_speed": 94.1821,
"whiff_percent": 28.0,
"swing_percent": 44.8
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.0792,
"command_and_miss": -0.0171,
"regression_edge": -0.8286,
"xwoba_edge": -0.3143,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.8,
"whiff_edge": 0.3857,
"bb_edge": -1.5,
"pitch_design_score": 0.046
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "690925",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.73520356556928,
"release_spin_rate": 2613.045360463267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.73520356556928,
"release_spin_rate": 2613.045360463267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.7352,
"release_spin_rate": 2613.0454,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.046,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3288,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0763,
"sample_weight": 0.596,
"run_prevention_factor": 1.0065,
"strikeout_factor": 1.017,
"walk_factor": 1.0715,
"homer_factor": 1.0173,
"woba_minus_xwoba": -0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690925",
"espn_id": 4313143,
"player_name": "Clayton Beeter",
"team": "WSH",
"role": "pitcher",
"espn_rank": 198,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 198,
"gp_value": 40.0,
"gp_rank": 136,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.5526,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 3.0,
"l_rank": 209,
"sv_value": 12.0,
"sv_rank": 22,
"hld_value": 6.0,
"hld_rank": 134,
"ip_value": 38.0,
"ip_rank": 346,
"h_value": 24.0,
"h_rank": 435,
"er_value": 15.0,
"er_rank": 372,
"hr_value": 6.0,
"hr_rank": 244,
"bb_value": 24.0,
"bb_rank": 198,
"k_value": 39.0,
"k_rank": 321,
"k_per_9_value": 9.236842,
"k_per_9_rank": 25.0,
"whip_value": 1.2631,
"whip_rank": null,
"war_value": 0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0039,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0039,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0426,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0103,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0101,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 3,
"H": 5,
"BB": 5,
"SO": 6,
"HR": 2,
"ERA": 2.8928571428571432,
"WHIP": 1.0714285714285716,
"K9": 5.7857142857142865,
"HR9": 1.9285714285714288,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-15T00:00:00"
}{
"available": true,
"pitcher_id": "690925",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.73520356556928,
"release_spin_rate": 2613.045360463267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 90.73520356556928,
"release_spin_rate": 2613.045360463267,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.7352,
"release_spin_rate": 2613.0454,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.046,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3288,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.619,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6038,
"prior_weight": 0.3962
},
"role": "pitcher",
"player_id": "690925",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 1.0,
"H": 2.0,
"BB": 3.0,
"SO": 5.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.4,
"BB": 0.6,
"SO": 1.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.6
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.6,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 3.0,
"R": 4.0,
"H": 5.0,
"BB": 5.0,
"SO": 6.0,
"HR": 2.0,
"BF": 36.0,
"Pitches": 132.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.5,
"BB": 0.5,
"SO": 0.6,
"HR": 0.2,
"BF": 3.6,
"Pitches": 13.2
},
"rates": {
"ERA": 2.8929,
"WHIP": 1.0714,
"ER_per_IP": 0.32143,
"H_per_IP": 0.53571,
"BB_per_IP": 0.53571,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 39,
"totals": {
"IP": 38.0,
"ER": 13.0,
"R": 14.0,
"H": 21.0,
"BB": 24.0,
"SO": 39.0,
"HR": 4.0,
"BF": 157.0,
"Pitches": 604.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.359,
"H": 0.5385,
"BB": 0.6154,
"SO": 1.0,
"HR": 0.1026,
"BF": 4.0256,
"Pitches": 15.4872
},
"rates": {
"ERA": 3.0789,
"WHIP": 1.1842,
"ER_per_IP": 0.34211,
"H_per_IP": 0.55263,
"BB_per_IP": 0.63158,
"SO_per_IP": 1.02632,
"HR_per_IP": 0.10526
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.307,
"predicted_H": 0.674,
"predicted_BB": 0.497,
"predicted_SO": 0.909,
"predicted_HR": 0.116,
"predicted_ERA": 2.7667,
"predicted_WHIP": 1.1712
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5174,
"form_weight": 0.4826,
"form_reliability": 0.6038,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.619,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6038,
"prior_weight": 0.3962
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.307,
"final": 0.1482,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.674,
"final": 0.3253,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.497,
"final": 0.7572,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.909,
"final": 0.9561,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.116,
"final": 0.056,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7667,
"final": 2.7667,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1712,
"final": 1.1712,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-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.1430 |
| ESPN Rank | 245 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0759 |
| Avg Velo | 91.2690 |
| Avg Spin | 2286.4472 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.4054 |
| Season WHIP | 1.1622 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"opponent": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"edges": {
"quality_edge": 0.0534,
"offense_edge": 0.1344,
"opponent_offense_edge": -0.0914,
"defense_strength": -0.1093,
"opponent_defense_weakness": -0.0181,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0025,
"run_prevention": 0.9936,
"strikeout": 1.0089
},
"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": 147.0,
"k_percent": 21.9,
"bb_percent": 9.3,
"woba": 0.28,
"xwoba": 0.298,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 34.6,
"avg_best_speed": 72.0926,
"avg_hyper_speed": 92.7782,
"whiff_percent": 25.8,
"swing_percent": 50.5
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.5167,
"command_and_miss": -0.0029,
"regression_edge": -0.5143,
"xwoba_edge": 0.4,
"barrel_edge": -0.1333,
"hard_hit_edge": 0.4286,
"whiff_edge": 0.0714,
"bb_edge": -0.075,
"pitch_design_score": 0.0759
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687377",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.26901411477424,
"release_spin_rate": 2286.447224555749,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.26901411477424,
"release_spin_rate": 2286.447224555749,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.269,
"release_spin_rate": 2286.4472,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0759,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5424,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.143,
"sample_weight": 0.588,
"run_prevention_factor": 0.9878,
"strikeout_factor": 1.001,
"walk_factor": 1.0035,
"homer_factor": 0.9891,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687377",
"espn_id": 5132036,
"player_name": "Orlando Ribalta",
"team": "WSH",
"role": "pitcher",
"espn_rank": 245,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 245,
"gp_value": 39.0,
"gp_rank": 141,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.4054,
"era_rank": null,
"w_value": 0.0,
"w_rank": 495,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 2.0,
"sv_rank": 80,
"hld_value": 11.0,
"hld_rank": 58,
"ip_value": 37.0,
"ip_rank": 351,
"h_value": 29.0,
"h_rank": 387,
"er_value": 14.0,
"er_rank": 392,
"hr_value": 4.0,
"hr_rank": 336,
"bb_value": 14.0,
"bb_rank": 360,
"k_value": 33.0,
"k_rank": 360,
"k_per_9_value": 8.027027,
"k_per_9_rank": 27.0,
"whip_value": 1.1621,
"whip_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9928,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9928,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0021,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9936,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0006,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 4,
"H": 7,
"BB": 4,
"SO": 10,
"HR": 2,
"ERA": 3.724137931034483,
"WHIP": 1.1379310344827587,
"K9": 9.310344827586208,
"HR9": 1.8620689655172415,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-15T00:00:00"
}{
"available": true,
"pitcher_id": "687377",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.26901411477424,
"release_spin_rate": 2286.447224555749,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 91.26901411477424,
"release_spin_rate": 2286.447224555749,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.269,
"release_spin_rate": 2286.4472,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0759,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5424,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.419,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5974,
"prior_weight": 0.4026
},
"role": "pitcher",
"player_id": "687377",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 0.4,
"HR": 0.2,
"BF": 4.0,
"Pitches": 14.6
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.75,
"ER_per_IP": 0.1875,
"H_per_IP": 0.375,
"BB_per_IP": 0.375,
"SO_per_IP": 0.375,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 5.0,
"H": 7.0,
"BB": 4.0,
"SO": 10.0,
"HR": 2.0,
"BF": 40.0,
"Pitches": 155.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.7,
"BB": 0.4,
"SO": 1.0,
"HR": 0.2,
"BF": 4.0,
"Pitches": 15.5
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.1379,
"ER_per_IP": 0.41379,
"H_per_IP": 0.72414,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.03448,
"HR_per_IP": 0.2069
}
},
"season": {
"games": 39,
"totals": {
"IP": 37.0,
"ER": 14.0,
"R": 17.0,
"H": 29.0,
"BB": 14.0,
"SO": 33.0,
"HR": 4.0,
"BF": 151.0,
"Pitches": 637.0
},
"per_game": {
"IP": 1.0,
"ER": 0.359,
"R": 0.4359,
"H": 0.7436,
"BB": 0.359,
"SO": 0.8462,
"HR": 0.1026,
"BF": 3.8718,
"Pitches": 16.3333
},
"rates": {
"ERA": 3.4054,
"WHIP": 1.1622,
"ER_per_IP": 0.37838,
"H_per_IP": 0.78378,
"BB_per_IP": 0.37838,
"SO_per_IP": 0.89189,
"HR_per_IP": 0.10811
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.384,
"predicted_H": 0.737,
"predicted_BB": 0.38,
"predicted_SO": 0.808,
"predicted_HR": 0.166,
"predicted_ERA": 3.4516,
"predicted_WHIP": 1.1171
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5201,
"form_weight": 0.4799,
"form_reliability": 0.5974,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.419,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5974,
"prior_weight": 0.4026
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.384,
"final": 0.1843,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.737,
"final": 0.3537,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.38,
"final": 0.1824,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.808,
"final": 0.9079,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.166,
"final": 0.0797,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4516,
"final": 3.4516,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1171,
"final": 1.1171,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tom Cosgrove |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1710 |
| ESPN Rank | 571 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 78.3296 |
| Avg Spin | 2711.7956 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.7500 |
| Season WHIP | 1.2500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"opponent": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"edges": {
"quality_edge": 0.0534,
"offense_edge": 0.1344,
"opponent_offense_edge": -0.0914,
"defense_strength": -0.1093,
"opponent_defense_weakness": -0.0181,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0025,
"run_prevention": 0.9936,
"strikeout": 1.0089
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676680",
"profile": {
"available": true,
"pitcher_id": "676680",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 47.0,
"k_percent": 19.6,
"bb_percent": 5.9,
"woba": 0.332,
"xwoba": 0.27,
"sweet_spot_percent": 27.0,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 35.1,
"avg_best_speed": 72.0522,
"avg_hyper_speed": 93.2585,
"whiff_percent": 13.2,
"swing_percent": 50.6
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.6857,
"command_and_miss": -0.6107,
"regression_edge": 1.7714,
"xwoba_edge": 1.2,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.3571,
"whiff_edge": -1.7286,
"bb_edge": 0.775,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676680",
"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": 78.32956193588547,
"release_spin_rate": 2711.7955750676338,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 78.32956193588547,
"release_spin_rate": 2711.7955750676338,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 78.3296,
"release_spin_rate": 2711.7956,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.171,
"sample_weight": 0.45,
"run_prevention_factor": 0.9855,
"strikeout_factor": 0.9625,
"walk_factor": 0.9721,
"homer_factor": 0.9638,
"woba_minus_xwoba": 0.062,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676680",
"espn_id": 4990459,
"player_name": "Tom Cosgrove",
"team": "WSH",
"role": "pitcher",
"espn_rank": 571,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 571,
"gp_value": 13.0,
"gp_rank": 456,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.75,
"era_rank": null,
"w_value": 0.0,
"w_rank": 495,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 3.0,
"hld_rank": 193,
"ip_value": 12.0,
"ip_rank": 562,
"h_value": 12.0,
"h_rank": 568,
"er_value": 5.0,
"er_rank": 611,
"hr_value": 2.0,
"hr_rank": 480,
"bb_value": 3.0,
"bb_rank": 642,
"k_value": 10.0,
"k_rank": 552,
"k_per_9_value": 7.5,
"k_per_9_rank": 26.0,
"whip_value": 1.25,
"whip_rank": null,
"war_value": -0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9837,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9831,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 5,
"H": 9,
"BB": 2,
"SO": 6,
"HR": 2,
"ERA": 4.821428571428572,
"WHIP": 1.1785714285714288,
"K9": 5.7857142857142865,
"HR9": 1.9285714285714288,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-15T00:00:00"
}{
"available": true,
"pitcher_id": "676680",
"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": 78.32956193588547,
"release_spin_rate": 2711.7955750676338,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 78.32956193588547,
"release_spin_rate": 2711.7955750676338,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 78.3296,
"release_spin_rate": 2711.7956,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.406,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3249,
"prior_weight": 0.6751
},
"role": "pitcher",
"player_id": "676680",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 4.0,
"H": 5.0,
"BB": 0.0,
"SO": 5.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.8,
"H": 1.0,
"BB": 0.0,
"SO": 1.0,
"HR": 0.2,
"BF": 3.8,
"Pitches": 13.4
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1538,
"ER_per_IP": 0.46154,
"H_per_IP": 1.15385,
"BB_per_IP": 0.0,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 5.0,
"R": 7.0,
"H": 9.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 40.0,
"Pitches": 130.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.7,
"H": 0.9,
"BB": 0.2,
"SO": 0.6,
"HR": 0.2,
"BF": 4.0,
"Pitches": 13.0
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.1786,
"ER_per_IP": 0.53571,
"H_per_IP": 0.96429,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 13,
"totals": {
"IP": 12.0,
"ER": 5.0,
"R": 7.0,
"H": 12.0,
"BB": 3.0,
"SO": 10.0,
"HR": 2.0,
"BF": 51.0,
"Pitches": 180.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3846,
"R": 0.5385,
"H": 0.9231,
"BB": 0.2308,
"SO": 0.7692,
"HR": 0.1538,
"BF": 3.9231,
"Pitches": 13.8462
},
"rates": {
"ERA": 3.75,
"WHIP": 1.25,
"ER_per_IP": 0.41667,
"H_per_IP": 1.0,
"BB_per_IP": 0.25,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.16667
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.493,
"predicted_H": 1.0,
"predicted_BB": 0.287,
"predicted_SO": 0.94,
"predicted_HR": 0.168,
"predicted_ERA": 4.4383,
"predicted_WHIP": 1.2872
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6352,
"form_weight": 0.3648,
"form_reliability": 0.3249,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.406,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3249,
"prior_weight": 0.6751
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.493,
"final": 0.8151,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.287,
"final": 0.1047,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.94,
"final": 0.9781,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.168,
"final": 0.6965,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4383,
"final": 4.4383,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2872,
"final": 1.2872,
"source": "form_only"
}
}
}{
"available": false,
"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.125 | 0.000 | 0.000 | Hitting_2B | 0.140 | 1.000 | -0.140 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.938 | 4.000 | 3.000 | Hitting_AB | 3.520 | 4.000 | 0.480 | 0.000 |
| predicted_AVG | 0.277 | 0.500 | 0.333 | Hitting_AVG | 0.244 | 0.250 | 0.256 | 0.250 |
| predicted_BB | 0.125 | 0.000 | 0.000 | Hitting_BB | 0.180 | 1.000 | -0.180 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.812 | 2.000 | 1.000 | Hitting_H | 0.860 | 1.000 | 1.140 | 1.000 |
| predicted_HR | 0.312 | 0.000 | 0.000 | Hitting_HR | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_OBP | 0.306 | 0.500 | 0.333 | Hitting_OBP | 0.281 | 0.400 | 0.219 | 0.100 |
| predicted_R | 0.438 | 1.000 | 0.000 | Hitting_R | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_RBI | 0.562 | 0.000 | 1.000 | Hitting_RBI | 0.680 | 0.000 | -0.680 | 0.000 |
| predicted_SLG | 0.638 | 0.500 | 0.333 | Hitting_SLG | 0.557 | 0.500 | -0.057 | 0.000 |
| predicted_SO | 0.688 | 1.000 | 1.000 | Hitting_SO | 0.940 | 1.000 | 0.060 | 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_H: 0.8120 -> 2.0000 (boost 1.1880, better) |
| Biggest Deboost | predicted_RBI: 0.5620 -> 0.0000 (deboost -0.5620, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.9380 -> 3.0797 (boost 0.1417, better) | predicted_SLG: 0.6380 -> 0.6023 (deboost -0.0357, worse) | Final model input calibrated with local 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.6023 -> 0.6082 (boost 0.0059, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5666 -> 1.0000 (boost 0.4334, better) | predicted_HR: 0.2973 -> 0.0000 (deboost -0.2973, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.274 HR/AB=0.097 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4651 -> 0.0000 (deboost -0.4651, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2741 -> 0.3330 (boost 0.0589, better) | predicted_SLG: 0.6082 -> 0.3330 (deboost -0.2752, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_AB: 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.6082 (boost 0.2752, better) | predicted_AVG: 0.3330 -> 0.2741 (deboost -0.0589, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694673",
"player_name": "Abimelec Ortiz",
"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.125,
"predicted_3B": 0.0,
"predicted_AB": 2.938,
"predicted_AVG": 0.277,
"predicted_BB": 0.125,
"predicted_H": 0.812,
"predicted_HR": 0.312,
"predicted_OBP": 0.306,
"predicted_R": 0.438,
"predicted_RBI": 0.562,
"predicted_SLG": 0.638,
"predicted_SO": 0.688
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1338,
"predicted_3B": 0.0017,
"predicted_AB": 3.0797,
"predicted_AVG": 0.2705,
"predicted_BB": 0.1433,
"predicted_H": 0.83,
"predicted_HBP": 0.011,
"predicted_HR": 0.2923,
"predicted_OBP": 0.3036,
"predicted_R": 0.4522,
"predicted_RBI": 0.5508,
"predicted_SLG": 0.6023,
"predicted_SO": 0.7226
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1338,
"delta": 0.0088,
"percent_delta": 0.0704,
"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.938,
"after": 3.0797,
"delta": 0.1417,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2705,
"delta": -0.0065,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.1433,
"delta": 0.0183,
"percent_delta": 0.1464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.812,
"after": 0.83,
"delta": 0.018,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.312,
"after": 0.2923,
"delta": -0.0197,
"percent_delta": -0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3036,
"delta": -0.0024,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.4522,
"delta": 0.0142,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.562,
"after": 0.5508,
"delta": -0.0112,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.638,
"after": 0.6023,
"delta": -0.0357,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.688,
"after": 0.7226,
"delta": 0.0346,
"percent_delta": 0.0503,
"direction": "no_change",
"projection_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.938,
"after": 3.0797,
"delta": 0.1417,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.638,
"after": 0.6023,
"delta": -0.0357,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1338,
"predicted_3B": 0.0017,
"predicted_AB": 3.0797,
"predicted_AVG": 0.2741,
"predicted_BB": 0.1443,
"predicted_H": 0.8442,
"predicted_HBP": 0.011,
"predicted_HR": 0.2973,
"predicted_OBP": 0.3066,
"predicted_R": 0.4651,
"predicted_RBI": 0.5666,
"predicted_SLG": 0.6082,
"predicted_SO": 0.7175
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1338,
"after": 0.1338,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0797,
"after": 3.0797,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2705,
"after": 0.2741,
"delta": 0.0036,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1433,
"after": 0.1443,
"delta": 0.001,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8442,
"delta": 0.0142,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2923,
"after": 0.2973,
"delta": 0.005,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3036,
"after": 0.3066,
"delta": 0.003,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4522,
"after": 0.4651,
"delta": 0.0129,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5508,
"after": 0.5666,
"delta": 0.0158,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6023,
"after": 0.6082,
"delta": 0.0059,
"percent_delta": 0.0098,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7226,
"after": 0.7175,
"delta": -0.0051,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_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.6023,
"after": 0.6082,
"delta": 0.0059,
"percent_delta": 0.0098,
"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.08), rates preserved: AVG=0.274 HR/AB=0.097",
"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.1338,
"after": 0.0,
"delta": -0.1338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0,
"delta": -0.0017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0797,
"after": 3.0,
"delta": -0.0797,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1443,
"after": 0.0,
"delta": -0.1443,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8442,
"after": 1.0,
"delta": 0.1558,
"percent_delta": 0.1846,
"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.2973,
"after": 0.0,
"delta": -0.2973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5666,
"after": 1.0,
"delta": 0.4334,
"percent_delta": 0.7649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7175,
"after": 1.0,
"delta": 0.2825,
"percent_delta": 0.3937,
"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.5666,
"after": 1.0,
"delta": 0.4334,
"percent_delta": 0.7649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2973,
"after": 0.0,
"delta": -0.2973,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4651,
"after": 0.0,
"delta": -0.4651,
"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.4651,
"after": 0.0,
"delta": -0.4651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2741,
"after": 0.333,
"delta": 0.0589,
"percent_delta": 0.2149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3066,
"after": 0.333,
"delta": 0.0264,
"percent_delta": 0.0861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.6082,
"after": 0.333,
"delta": -0.2752,
"percent_delta": -0.4525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2741,
"after": 0.333,
"delta": 0.0589,
"percent_delta": 0.2149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6082,
"after": 0.333,
"delta": -0.2752,
"percent_delta": -0.4525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 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_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.2741,
"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.3066,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6082,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2741,
"delta": -0.0589,
"percent_delta": -0.1768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3066,
"delta": -0.0264,
"percent_delta": -0.0793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.6082,
"delta": 0.2752,
"percent_delta": 0.8266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.6082,
"delta": 0.2752,
"percent_delta": 0.8266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2741,
"delta": -0.0589,
"percent_delta": -0.1768,
"direction": "deboost",
"projection_effect": "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.938,
"after": 4.0,
"delta": 1.062,
"percent_delta": 0.3615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2741,
"delta": -0.0029,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.812,
"after": 2.0,
"delta": 1.188,
"percent_delta": 1.4631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3066,
"delta": 0.0006,
"percent_delta": 0.002,
"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.562,
"after": 0.0,
"delta": -0.562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.638,
"after": 0.6082,
"delta": -0.0298,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.688,
"after": 1.0,
"delta": 0.312,
"percent_delta": 0.4535,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.812,
"after": 2.0,
"delta": 1.188,
"percent_delta": 1.4631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.562,
"after": 0.0,
"delta": -0.562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.938 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.125 | - |
| predicted_H | 0.812 | - |
| predicted_HR | 0.312 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.438 | - |
| predicted_RBI | 0.562 | - |
| predicted_SLG | 0.638 | - |
| predicted_SO | 0.688 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.009 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.080 | 0.142 |
| predicted_AVG | 0.271 | -0.007 |
| predicted_BB | 0.143 | 0.018 |
| predicted_H | 0.830 | 0.018 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.292 | -0.020 |
| predicted_OBP | 0.304 | -0.002 |
| predicted_R | 0.452 | 0.014 |
| predicted_RBI | 0.551 | -0.011 |
| predicted_SLG | 0.602 | -0.036 |
| predicted_SO | 0.723 | 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.134 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.080 | 0.000 |
| predicted_AVG | 0.274 | 0.004 |
| predicted_BB | 0.144 | 0.001 |
| predicted_H | 0.844 | 0.014 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.297 | 0.005 |
| predicted_OBP | 0.307 | 0.003 |
| predicted_R | 0.465 | 0.013 |
| predicted_RBI | 0.567 | 0.016 |
| predicted_SLG | 0.608 | 0.006 |
| predicted_SO | 0.718 | -0.005 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.274 HR/AB=0.097
| 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.134 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.080 |
| predicted_AVG | 0.333 | 0.059 |
| predicted_BB | 0.000 | -0.144 |
| predicted_H | 1.000 | 0.156 |
| predicted_HR | 0.000 | -0.297 |
| predicted_OBP | 0.333 | 0.026 |
| predicted_R | 0.000 | -0.465 |
| predicted_RBI | 1.000 | 0.433 |
| predicted_SLG | 0.333 | -0.275 |
| predicted_SO | 1.000 | 0.282 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 5.000 | 0.1765 | 0.2222 | 0.4118 | 0.1765 | 0.0588 | 0.0588 | 0.0588 | 0.2941 |
| last_10 | 0.20 | 10 | - | 32.000 | 10.000 | 1.000 | 0.000 | 4.000 | 8.000 | 6.000 | 1.000 | 7.000 | 0.3125 | 0.3333 | 0.7188 | 0.3125 | 0.1250 | 0.2500 | 0.0312 | 0.2188 |
| season | 0.60 | 16 | - | 47.000 | 13.000 | 2.000 | 0.000 | 5.000 | 9.000 | 7.000 | 2.000 | 11.000 | 0.2766 | 0.3061 | 0.6383 | 0.2766 | 0.1064 | 0.1915 | 0.0425 | 0.2340 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.3560 |
| predicted_AVG | 0.2578 |
| predicted_BB | 0.1790 |
| predicted_H | 0.8650 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2540 |
| predicted_OBP | 0.2988 |
| predicted_R | 0.4800 |
| predicted_RBI | 0.5290 |
| predicted_SLG | 0.5328 |
| predicted_SO | 0.7900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1510 | 0.1338 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.9380 | 3.3560 | 3.0797 | model_form_blend |
| predicted_AVG | 0.2770 | 0.2578 | 0.2705 | model_form_blend |
| predicted_BB | 0.1250 | 0.1790 | 0.1433 | model_form_blend |
| predicted_H | 0.8120 | 0.8650 | 0.8300 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.3120 | 0.2540 | 0.2923 | model_form_blend |
| predicted_OBP | 0.3060 | 0.2988 | 0.3036 | model_form_blend |
| predicted_R | 0.4380 | 0.4800 | 0.4522 | model_form_blend |
| predicted_RBI | 0.5620 | 0.5290 | 0.5508 | model_form_blend |
| predicted_SLG | 0.6380 | 0.5328 | 0.6023 | model_form_blend |
| predicted_SO | 0.6880 | 0.7900 | 0.7226 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 50 |
| Season rows before report date | 50 |
| Report year | 2026 |
| Profile rows used | 16 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 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 | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 694673 |
| playerID | 694673 |
| playerName | Abimelec Ortiz |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.398 |
| sl_xwoba | 0.391 |
| sl_xba | 0.28 |
| sl_xslg | 0.623 |
| sl_sweet_spot_percent | 47.2 |
| sl_barrel_batted_rate | 16.7 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 50.5 |
| at_bat_number | 67.0 |
| ab_pitcher | 656756.0 |
| ab_pitcher_name | Montgomery, Jordan |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_2b_start | 682928.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 0.0 |
| ab_event | strikeout |
| ab_event_description | Abimelec Ortiz strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 13.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 83.10000000000001 |
| ab_release_spin_rate_avg | 2287.6666666666665 |
| ab_effective_speed_avg | 83.7 |
| ab_delta_run_exp_avg | -0.1119999999999999 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.1119999999999999 |
| ab_bat_speed_avg | 52.8 |
| ab_swing_length_avg | 7.45 |
| ab_release_speed_max | 89.6 |
| ab_release_spin_rate_max | 2348.0 |
| ab_release_speed_min | 77.7 |
| ab_release_spin_rate_min | 2180.0 |
| ab_delta_run_exp_sum | -0.3359999999999999 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.3359999999999999 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.183 | 0.000 | 0.000 | Hitting_2B | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 3.825 | 5.000 | 4.000 | Hitting_AB | 4.004 | 5.000 | 0.996 | 0.000 |
| predicted_AVG | 0.243 | 0.000 | 0.250 | Hitting_AVG | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_BB | 0.230 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 0.929 | 0.000 | 1.000 | Hitting_H | 0.988 | 0.000 | -0.988 | 0.000 |
| predicted_HR | 0.119 | 0.000 | 0.000 | Hitting_HR | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.250 | Hitting_OBP | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_R | 0.492 | 0.000 | 0.000 | Hitting_R | 0.532 | 0.000 | -0.532 | 0.000 |
| predicted_RBI | 0.516 | 0.000 | 1.000 | Hitting_RBI | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_SLG | 0.405 | 0.000 | 0.250 | Hitting_SLG | 0.411 | 0.000 | -0.411 | 0.000 |
| predicted_SO | 0.786 | 2.000 | 1.000 | Hitting_SO | 0.821 | 2.000 | 1.179 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7860 -> 2.0000 (boost 1.2140, worse) |
| Biggest Deboost | predicted_H: 0.9290 -> 0.0000 (deboost -0.9290, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4050 -> 0.3652 (deboost -0.0398, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.4946 -> 1.0000 (boost 0.5054, better) | predicted_BB: 0.2198 -> 0.0000 (deboost -0.2198, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.234 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4668 -> 0.0000 (deboost -0.4668, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2335 -> 0.2500 (boost 0.0165, better) | predicted_SLG: 0.3700 -> 0.2500 (deboost -0.1200, 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.3700 (boost 0.1200, better) | predicted_AVG: 0.2500 -> 0.2335 (deboost -0.0165, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695734",
"player_name": "Daylen Lile",
"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.183,
"predicted_3B": 0.04,
"predicted_AB": 3.825,
"predicted_AVG": 0.243,
"predicted_BB": 0.23,
"predicted_H": 0.929,
"predicted_HR": 0.119,
"predicted_OBP": 0.286,
"predicted_R": 0.492,
"predicted_RBI": 0.516,
"predicted_SLG": 0.405,
"predicted_SO": 0.786
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1535,
"predicted_3B": 0.0331,
"predicted_AB": 3.8532,
"predicted_AVG": 0.2298,
"predicted_BB": 0.2183,
"predicted_H": 0.8847,
"predicted_HBP": 0.029,
"predicted_HR": 0.1003,
"predicted_OBP": 0.2727,
"predicted_R": 0.4538,
"predicted_RBI": 0.4808,
"predicted_SLG": 0.3652,
"predicted_SO": 0.806
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.1535,
"delta": -0.0295,
"percent_delta": -0.1612,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0331,
"delta": -0.0069,
"percent_delta": -0.1725,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.825,
"after": 3.8532,
"delta": 0.0282,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2298,
"delta": -0.0132,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.23,
"after": 0.2183,
"delta": -0.0117,
"percent_delta": -0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.929,
"after": 0.8847,
"delta": -0.0443,
"percent_delta": -0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.119,
"after": 0.1003,
"delta": -0.0187,
"percent_delta": -0.1571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2727,
"delta": -0.0133,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.4538,
"delta": -0.0382,
"percent_delta": -0.0776,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.516,
"after": 0.4808,
"delta": -0.0352,
"percent_delta": -0.0682,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3652,
"delta": -0.0398,
"percent_delta": -0.0983,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.786,
"after": 0.806,
"delta": 0.02,
"percent_delta": 0.0254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3652,
"delta": -0.0398,
"percent_delta": -0.0983,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 126
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1535,
"predicted_3B": 0.0331,
"predicted_AB": 3.8532,
"predicted_AVG": 0.2335,
"predicted_BB": 0.2198,
"predicted_H": 0.8998,
"predicted_HBP": 0.029,
"predicted_HR": 0.102,
"predicted_OBP": 0.2749,
"predicted_R": 0.4668,
"predicted_RBI": 0.4946,
"predicted_SLG": 0.37,
"predicted_SO": 0.8004
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1535,
"after": 0.1535,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0331,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8532,
"after": 3.8532,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2298,
"after": 0.2335,
"delta": 0.0037,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2183,
"after": 0.2198,
"delta": 0.0015,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8847,
"after": 0.8998,
"delta": 0.0151,
"percent_delta": 0.0171,
"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.1003,
"after": 0.102,
"delta": 0.0017,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2727,
"after": 0.2749,
"delta": 0.0022,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4538,
"after": 0.4668,
"delta": 0.013,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4808,
"after": 0.4946,
"delta": 0.0138,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3652,
"after": 0.37,
"delta": 0.0048,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.806,
"after": 0.8004,
"delta": -0.0056,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.85), rates preserved: AVG=0.234 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1535,
"after": 0.0,
"delta": -0.1535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0,
"delta": -0.0331,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8532,
"after": 4.0,
"delta": 0.1468,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2198,
"after": 0.0,
"delta": -0.2198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8998,
"after": 1.0,
"delta": 0.1002,
"percent_delta": 0.1114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4946,
"after": 1.0,
"delta": 0.5054,
"percent_delta": 1.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8004,
"after": 1.0,
"delta": 0.1996,
"percent_delta": 0.2494,
"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.4946,
"after": 1.0,
"delta": 0.5054,
"percent_delta": 1.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2198,
"after": 0.0,
"delta": -0.2198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4668,
"after": 0.0,
"delta": -0.4668,
"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.4668,
"after": 0.0,
"delta": -0.4668,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment 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.2335,
"after": 0.25,
"delta": 0.0165,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2749,
"after": 0.25,
"delta": -0.0249,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.37,
"after": 0.25,
"delta": -0.12,
"percent_delta": -0.3243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.2335,
"after": 0.25,
"delta": 0.0165,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.25,
"delta": -0.12,
"percent_delta": -0.3243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2335,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2749,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.37,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2335,
"delta": -0.0165,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2749,
"delta": 0.0249,
"percent_delta": 0.0996,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.37,
"delta": 0.12,
"percent_delta": 0.4799,
"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.37,
"delta": 0.12,
"percent_delta": 0.4799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2335,
"delta": -0.0165,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "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.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.825,
"after": 5.0,
"delta": 1.175,
"percent_delta": 0.3072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2335,
"delta": -0.0095,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.929,
"after": 0.0,
"delta": -0.929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2749,
"delta": -0.0111,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.0,
"delta": -0.492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.516,
"after": 0.0,
"delta": -0.516,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.37,
"delta": -0.035,
"percent_delta": -0.0864,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.786,
"after": 2.0,
"delta": 1.214,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.786,
"after": 2.0,
"delta": 1.214,
"percent_delta": 1.5445,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.929,
"after": 0.0,
"delta": -0.929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 3.825 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.230 | - |
| predicted_H | 0.929 | - |
| predicted_HR | 0.119 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.516 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.786 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | -0.029 |
| predicted_3B | 0.033 | -0.007 |
| predicted_AB | 3.853 | 0.028 |
| predicted_AVG | 0.230 | -0.013 |
| predicted_BB | 0.218 | -0.012 |
| predicted_H | 0.885 | -0.044 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.100 | -0.019 |
| predicted_OBP | 0.273 | -0.013 |
| predicted_R | 0.454 | -0.038 |
| predicted_RBI | 0.481 | -0.035 |
| predicted_SLG | 0.365 | -0.040 |
| predicted_SO | 0.806 | 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.033 | 0.000 |
| predicted_AB | 3.853 | 0.000 |
| predicted_AVG | 0.234 | 0.004 |
| predicted_BB | 0.220 | 0.002 |
| predicted_H | 0.900 | 0.015 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.102 | 0.002 |
| predicted_OBP | 0.275 | 0.002 |
| predicted_R | 0.467 | 0.013 |
| predicted_RBI | 0.495 | 0.014 |
| predicted_SLG | 0.370 | 0.005 |
| predicted_SO | 0.800 | -0.006 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.234 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.153 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | 0.147 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 0.000 | -0.220 |
| predicted_H | 1.000 | 0.100 |
| predicted_HR | 0.000 | -0.102 |
| predicted_OBP | 0.250 | -0.025 |
| predicted_R | 0.000 | -0.467 |
| predicted_RBI | 1.000 | 0.505 |
| predicted_SLG | 0.250 | -0.120 |
| predicted_SO | 1.000 | 0.200 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 20.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 0.1000 | 0.1429 | 0.1000 | 0.1000 | 0.0000 | 0.0000 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 0.000 | 0.000 | 0.000 | 6.000 | 3.000 | 1.000 | 8.000 | 0.2250 | 0.2439 | 0.2250 | 0.2250 | 0.0000 | 0.1500 | 0.0250 | 0.2000 |
| season | 0.60 | 126 | - | 482.000 | 117.000 | 23.000 | 5.000 | 15.000 | 65.000 | 62.000 | 29.000 | 99.000 | 0.2427 | 0.2917 | 0.4046 | 0.2427 | 0.0311 | 0.1348 | 0.0602 | 0.2054 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.8900 |
| predicted_AVG | 0.2127 |
| predicted_BB | 0.2030 |
| predicted_H | 0.8270 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.0760 |
| predicted_OBP | 0.2553 |
| predicted_R | 0.4040 |
| predicted_RBI | 0.4350 |
| predicted_SLG | 0.3132 |
| predicted_SO | 0.8320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.1150 | 0.1535 | model_form_blend |
| predicted_3B | 0.0400 | 0.0240 | 0.0331 | model_form_blend |
| predicted_AB | 3.8250 | 3.8900 | 3.8532 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2127 | 0.2298 | model_form_blend |
| predicted_BB | 0.2300 | 0.2030 | 0.2183 | model_form_blend |
| predicted_H | 0.9290 | 0.8270 | 0.8847 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.1190 | 0.0760 | 0.1003 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2553 | 0.2727 | model_form_blend |
| predicted_R | 0.4920 | 0.4040 | 0.4538 | model_form_blend |
| predicted_RBI | 0.5160 | 0.4350 | 0.4808 | model_form_blend |
| predicted_SLG | 0.4050 | 0.3132 | 0.3652 | model_form_blend |
| predicted_SO | 0.7860 | 0.8320 | 0.8060 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 519 |
| Season rows before report date | 519 |
| Report year | 2026 |
| Profile rows used | 126 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF-LF |
| gameID | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 695734 |
| playerID | 695734 |
| playerName | Daylen Lile |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.303 |
| sl_xwoba | 0.315 |
| sl_xba | 0.253 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 37.0 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 18.6 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 56.0 |
| at_bat_number | 69.0 |
| ab_pitcher | 656756.0 |
| ab_pitcher_name | Montgomery, Jordan |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 682928.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 0.0 |
| ab_event | strikeout |
| ab_event_description | Daylen Lile strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 7.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 85.62 |
| ab_release_spin_rate_avg | 2330.0 |
| ab_effective_speed_avg | 86.2 |
| ab_delta_run_exp_avg | -0.0556 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.0556 |
| ab_bat_speed_avg | 72.44999999999999 |
| ab_swing_length_avg | 8.5 |
| ab_release_speed_max | 90.3 |
| ab_release_spin_rate_max | 2401.0 |
| ab_release_speed_min | 82.3 |
| ab_release_spin_rate_min | 2175.0 |
| ab_delta_run_exp_sum | -0.2779999999999999 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.2779999999999999 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.156 | 1.000 | 0.000 | Hitting_2B | - | - | - | - |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | - | - | - | - |
| predicted_AB | 3.351 | 4.000 | 3.000 | Hitting_AB | - | - | - | - |
| predicted_AVG | 0.251 | 0.500 | 0.333 | Hitting_AVG | - | - | - | - |
| predicted_BB | 0.316 | 0.000 | 0.000 | Hitting_BB | - | - | - | - |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | - | - | - | - |
| predicted_H | 0.842 | 2.000 | 1.000 | Hitting_H | - | - | - | - |
| predicted_HR | 0.085 | 0.000 | 0.000 | Hitting_HR | - | - | - | - |
| predicted_OBP | 0.316 | 0.500 | 0.333 | Hitting_OBP | - | - | - | - |
| predicted_R | 0.431 | 0.000 | 0.000 | Hitting_R | - | - | - | - |
| predicted_RBI | 0.386 | 0.000 | 0.000 | Hitting_RBI | - | - | - | - |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | - | - | - | - |
| predicted_SLG | 0.382 | 0.750 | 0.333 | Hitting_SLG | - | - | - | - |
| predicted_SO | 0.730 | 1.000 | 1.000 | Hitting_SO | - | - | - | - |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.8420 -> 2.0000 (boost 1.1580, better) |
| Biggest Deboost | predicted_R: 0.4310 -> 0.0000 (deboost -0.4310, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3510 -> 3.4220 (boost 0.0710, 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.3861 -> 0.3930 (boost 0.0069, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7434 -> 1.0000 (boost 0.2566, worse) | predicted_AB: 3.4220 -> 3.0000 (deboost -0.4220, worse) | AB rounded to 3 (raw=3.42), rates preserved: AVG=0.255 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4543 -> 0.0000 (deboost -0.4543, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2550 -> 0.3330 (boost 0.0780, better) | predicted_SLG: 0.3930 -> 0.3330 (deboost -0.0600, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3930 (boost 0.0600, better) | predicted_AVG: 0.3330 -> 0.2550 (deboost -0.0780, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669304",
"player_name": "Jose F Miranda",
"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.156,
"predicted_3B": 0.015,
"predicted_AB": 3.351,
"predicted_AVG": 0.251,
"predicted_BB": 0.316,
"predicted_H": 0.842,
"predicted_HR": 0.085,
"predicted_OBP": 0.316,
"predicted_R": 0.431,
"predicted_RBI": 0.386,
"predicted_SLG": 0.382,
"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.1598,
"predicted_3B": 0.015,
"predicted_AB": 3.422,
"predicted_AVG": 0.2505,
"predicted_BB": 0.308,
"predicted_H": 0.8579,
"predicted_HBP": 0.032,
"predicted_HR": 0.0926,
"predicted_OBP": 0.3143,
"predicted_R": 0.4417,
"predicted_RBI": 0.4011,
"predicted_SLG": 0.3861,
"predicted_SO": 0.7486
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.1598,
"delta": 0.0038,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.351,
"after": 3.422,
"delta": 0.071,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2505,
"delta": -0.0005,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.308,
"delta": -0.008,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.842,
"after": 0.8579,
"delta": 0.0159,
"percent_delta": 0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.085,
"after": 0.0926,
"delta": 0.0076,
"percent_delta": 0.0894,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3143,
"delta": -0.0017,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 0.4417,
"delta": 0.0107,
"percent_delta": 0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.386,
"after": 0.4011,
"delta": 0.0151,
"percent_delta": 0.0391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3861,
"delta": 0.0041,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.73,
"after": 0.7486,
"delta": 0.0186,
"percent_delta": 0.0255,
"direction": "no_change",
"projection_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.351,
"after": 3.422,
"delta": 0.071,
"percent_delta": 0.0212,
"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.1598,
"predicted_3B": 0.015,
"predicted_AB": 3.422,
"predicted_AVG": 0.255,
"predicted_BB": 0.3102,
"predicted_H": 0.8726,
"predicted_HBP": 0.032,
"predicted_HR": 0.0942,
"predicted_OBP": 0.3169,
"predicted_R": 0.4543,
"predicted_RBI": 0.4126,
"predicted_SLG": 0.393,
"predicted_SO": 0.7434
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1598,
"after": 0.1598,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.422,
"after": 3.422,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2505,
"after": 0.255,
"delta": 0.0045,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.308,
"after": 0.3102,
"delta": 0.0022,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8579,
"after": 0.8726,
"delta": 0.0147,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0926,
"after": 0.0942,
"delta": 0.0016,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3143,
"after": 0.3169,
"delta": 0.0026,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4417,
"after": 0.4543,
"delta": 0.0126,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4011,
"after": 0.4126,
"delta": 0.0115,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3861,
"after": 0.393,
"delta": 0.0069,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7486,
"after": 0.7434,
"delta": -0.0052,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_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.3861,
"after": 0.393,
"delta": 0.0069,
"percent_delta": 0.0179,
"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.42), rates preserved: AVG=0.255 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1598,
"after": 0.0,
"delta": -0.1598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.422,
"after": 3.0,
"delta": -0.422,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3102,
"after": 0.0,
"delta": -0.3102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8726,
"after": 1.0,
"delta": 0.1274,
"percent_delta": 0.146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0942,
"after": 0.0,
"delta": -0.0942,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4126,
"after": 0.0,
"delta": -0.4126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7434,
"after": 1.0,
"delta": 0.2566,
"percent_delta": 0.3452,
"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.7434,
"after": 1.0,
"delta": 0.2566,
"percent_delta": 0.3452,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.422,
"after": 3.0,
"delta": -0.422,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4543,
"after": 0.0,
"delta": -0.4543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4543,
"after": 0.0,
"delta": -0.4543,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.255,
"after": 0.333,
"delta": 0.078,
"percent_delta": 0.3059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3169,
"after": 0.333,
"delta": 0.0161,
"percent_delta": 0.0508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.333,
"delta": -0.06,
"percent_delta": -0.1527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.255,
"after": 0.333,
"delta": 0.078,
"percent_delta": 0.3059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.333,
"delta": -0.06,
"percent_delta": -0.1527,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.255,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3169,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.393,
"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.255,
"delta": -0.078,
"percent_delta": -0.2343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3169,
"delta": -0.0161,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.393,
"delta": 0.06,
"percent_delta": 0.1802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.393,
"delta": 0.06,
"percent_delta": 0.1802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.255,
"delta": -0.078,
"percent_delta": -0.2343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 1.0,
"delta": 0.844,
"percent_delta": 5.4103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.351,
"after": 4.0,
"delta": 0.649,
"percent_delta": 0.1937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.255,
"delta": 0.004,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.842,
"after": 2.0,
"delta": 1.158,
"percent_delta": 1.3753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3169,
"delta": 0.0009,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 0.0,
"delta": -0.431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.393,
"delta": 0.011,
"percent_delta": 0.0288,
"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": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.842,
"after": 2.0,
"delta": 1.158,
"percent_delta": 1.3753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.431,
"after": 0.0,
"delta": -0.431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.351 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.316 | - |
| predicted_H | 0.842 | - |
| predicted_HR | 0.085 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.431 | - |
| predicted_RBI | 0.386 | - |
| predicted_SLG | 0.382 | - |
| 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.160 | 0.004 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.422 | 0.071 |
| predicted_AVG | 0.251 | -0.001 |
| predicted_BB | 0.308 | -0.008 |
| predicted_H | 0.858 | 0.016 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.093 | 0.008 |
| predicted_OBP | 0.314 | -0.002 |
| predicted_R | 0.442 | 0.011 |
| predicted_RBI | 0.401 | 0.015 |
| predicted_SLG | 0.386 | 0.004 |
| predicted_SO | 0.749 | 0.019 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.422 | 0.000 |
| predicted_AVG | 0.255 | 0.005 |
| predicted_BB | 0.310 | 0.002 |
| predicted_H | 0.873 | 0.015 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.094 | 0.002 |
| predicted_OBP | 0.317 | 0.003 |
| predicted_R | 0.454 | 0.013 |
| predicted_RBI | 0.413 | 0.012 |
| predicted_SLG | 0.393 | 0.007 |
| predicted_SO | 0.743 | -0.005 |
AB rounded to 3 (raw=3.42), rates preserved: AVG=0.255 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.160 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 3.000 | -0.422 |
| predicted_AVG | 0.333 | 0.078 |
| predicted_BB | 0.000 | -0.310 |
| predicted_H | 1.000 | 0.127 |
| predicted_HR | 0.000 | -0.094 |
| predicted_OBP | 0.333 | 0.016 |
| predicted_R | 0.000 | -0.454 |
| predicted_RBI | 0.000 | -0.413 |
| predicted_SLG | 0.333 | -0.060 |
| predicted_SO | 1.000 | 0.257 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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.1800 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.8020 |
| predicted_AVG | 0.2480 |
| predicted_BB | 0.2650 |
| predicted_H | 0.9430 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1330 |
| predicted_OBP | 0.3054 |
| predicted_R | 0.4990 |
| predicted_RBI | 0.4820 |
| predicted_SLG | 0.4082 |
| predicted_SO | 0.8480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.1800 | 0.1598 | model_form_blend |
| predicted_3B | 0.0150 | 0.0150 | 0.0150 | model_form_blend |
| predicted_AB | 3.3510 | 3.8020 | 3.4220 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2480 | 0.2505 | model_form_blend |
| predicted_BB | 0.3160 | 0.2650 | 0.3080 | model_form_blend |
| predicted_H | 0.8420 | 0.9430 | 0.8579 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.0850 | 0.1330 | 0.0926 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3054 | 0.3143 | model_form_blend |
| predicted_R | 0.4310 | 0.4990 | 0.4417 | model_form_blend |
| predicted_RBI | 0.3860 | 0.4820 | 0.4011 | model_form_blend |
| predicted_SLG | 0.3820 | 0.4082 | 0.3861 | model_form_blend |
| predicted_SO | 0.7300 | 0.8480 | 0.7486 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 0 |
| Season rows before report date | 0 |
| Report year | 2026 |
| Profile rows used | 0 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 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.149 | 0.000 | 0.000 | Hitting_2B | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.770 | 4.000 | 4.000 | Hitting_AB | 3.925 | 1.000 | 0.075 | 3.000 |
| predicted_AVG | 0.211 | 0.000 | 0.250 | Hitting_AVG | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_BB | 0.284 | 0.000 | 0.000 | Hitting_BB | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.797 | 0.000 | 1.000 | Hitting_H | 0.856 | 0.000 | -0.856 | 0.000 |
| predicted_HR | 0.135 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.267 | 0.000 | 0.250 | Hitting_OBP | 0.292 | 0.000 | -0.292 | 0.000 |
| predicted_R | 0.541 | 0.000 | 0.000 | Hitting_R | 0.572 | 0.000 | -0.572 | 0.000 |
| predicted_RBI | 0.365 | 0.000 | 0.000 | Hitting_RBI | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_SLG | 0.358 | 0.000 | 0.250 | Hitting_SLG | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_SO | 0.986 | 0.000 | 1.000 | Hitting_SO | 1.003 | 0.000 | -1.003 | 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.7700 -> 4.0000 (boost 0.2300, better) |
| Biggest Deboost | predicted_SO: 0.9860 -> 0.0000 (deboost -0.9860, 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_AB: 3.7700 -> 3.6602 (deboost -0.1098, worse) | Final model input calibrated with local 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.3349 -> 0.3410 (boost 0.0061, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_AB: 3.6602 -> 4.0000 (boost 0.3398, better) | predicted_RBI: 0.3305 -> 0.0000 (deboost -0.3305, worse) | AB rounded to 4 (raw=3.77), rates preserved: AVG=0.197 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4902 -> 0.0000 (deboost -0.4902, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2032 -> 0.2500 (boost 0.0468, better) | predicted_SLG: 0.3410 -> 0.2500 (deboost -0.0910, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3410 (boost 0.0910, better) | predicted_AVG: 0.2500 -> 0.2032 (deboost -0.0468, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686611",
"player_name": "Dylan Crews",
"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.149,
"predicted_3B": 0.0,
"predicted_AB": 3.77,
"predicted_AVG": 0.211,
"predicted_BB": 0.284,
"predicted_H": 0.797,
"predicted_HR": 0.135,
"predicted_OBP": 0.267,
"predicted_R": 0.541,
"predicted_RBI": 0.365,
"predicted_SLG": 0.358,
"predicted_SO": 0.986
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1397,
"predicted_3B": 0.0004,
"predicted_AB": 3.6602,
"predicted_AVG": 0.1991,
"predicted_BB": 0.2628,
"predicted_H": 0.7313,
"predicted_HBP": 0.051,
"predicted_HR": 0.1193,
"predicted_OBP": 0.257,
"predicted_R": 0.4766,
"predicted_RBI": 0.3213,
"predicted_SLG": 0.3349,
"predicted_SO": 0.9428
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.1397,
"delta": -0.0093,
"percent_delta": -0.0624,
"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.77,
"after": 3.6602,
"delta": -0.1098,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.1991,
"delta": -0.0119,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.2628,
"delta": -0.0212,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.797,
"after": 0.7313,
"delta": -0.0657,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.135,
"after": 0.1193,
"delta": -0.0157,
"percent_delta": -0.1163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.257,
"delta": -0.01,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.541,
"after": 0.4766,
"delta": -0.0644,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.365,
"after": 0.3213,
"delta": -0.0437,
"percent_delta": -0.1197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3349,
"delta": -0.0231,
"percent_delta": -0.0645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.986,
"after": 0.9428,
"delta": -0.0432,
"percent_delta": -0.0438,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.77,
"after": 3.6602,
"delta": -0.1098,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1397,
"predicted_3B": 0.0004,
"predicted_AB": 3.6602,
"predicted_AVG": 0.2032,
"predicted_BB": 0.2646,
"predicted_H": 0.7438,
"predicted_HBP": 0.051,
"predicted_HR": 0.1213,
"predicted_OBP": 0.2569,
"predicted_R": 0.4902,
"predicted_RBI": 0.3305,
"predicted_SLG": 0.341,
"predicted_SO": 0.9362
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1397,
"after": 0.1397,
"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.6602,
"after": 3.6602,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1991,
"after": 0.2032,
"delta": 0.0041,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2628,
"after": 0.2646,
"delta": 0.0018,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7313,
"after": 0.7438,
"delta": 0.0125,
"percent_delta": 0.0171,
"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.1193,
"after": 0.1213,
"delta": 0.002,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2569,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4766,
"after": 0.4902,
"delta": 0.0136,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3213,
"after": 0.3305,
"delta": 0.0092,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3349,
"after": 0.341,
"delta": 0.0061,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9428,
"after": 0.9362,
"delta": -0.0066,
"percent_delta": -0.007,
"direction": "no_change",
"projection_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.3349,
"after": 0.341,
"delta": 0.0061,
"percent_delta": 0.0182,
"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.197 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1397,
"after": 0.0,
"delta": -0.1397,
"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.6602,
"after": 4.0,
"delta": 0.3398,
"percent_delta": 0.0928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.7438,
"after": 1.0,
"delta": 0.2562,
"percent_delta": 0.3444,
"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.1213,
"after": 0.0,
"delta": -0.1213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3305,
"after": 0.0,
"delta": -0.3305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9362,
"after": 1.0,
"delta": 0.0638,
"percent_delta": 0.0681,
"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.6602,
"after": 4.0,
"delta": 0.3398,
"percent_delta": 0.0928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3305,
"after": 0.0,
"delta": -0.3305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4902,
"after": 0.0,
"delta": -0.4902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4902,
"after": 0.0,
"delta": -0.4902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment 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.2032,
"after": 0.25,
"delta": 0.0468,
"percent_delta": 0.2303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2569,
"after": 0.25,
"delta": -0.0069,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.25,
"delta": -0.091,
"percent_delta": -0.2669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.2032,
"after": 0.25,
"delta": 0.0468,
"percent_delta": 0.2303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.25,
"delta": -0.091,
"percent_delta": -0.2669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2032,
"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.2569,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.341,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2032,
"delta": -0.0468,
"percent_delta": -0.1871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2569,
"delta": 0.0069,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.341,
"delta": 0.091,
"percent_delta": 0.3642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.341,
"delta": 0.091,
"percent_delta": 0.3642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2032,
"delta": -0.0468,
"percent_delta": -0.1871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 4.0,
"delta": 0.23,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2032,
"delta": -0.0078,
"percent_delta": -0.037,
"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.797,
"after": 0.0,
"delta": -0.797,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2569,
"delta": -0.0101,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.541,
"after": 0.0,
"delta": -0.541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.365,
"after": 0.0,
"delta": -0.365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.341,
"delta": -0.017,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.986,
"after": 0.0,
"delta": -0.986,
"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.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.986,
"after": 0.0,
"delta": -0.986,
"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.149 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.770 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.284 | - |
| predicted_H | 0.797 | - |
| predicted_HR | 0.135 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.541 | - |
| predicted_RBI | 0.365 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 0.986 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.009 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.660 | -0.110 |
| predicted_AVG | 0.199 | -0.012 |
| predicted_BB | 0.263 | -0.021 |
| predicted_H | 0.731 | -0.066 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.119 | -0.016 |
| predicted_OBP | 0.257 | -0.010 |
| predicted_R | 0.477 | -0.064 |
| predicted_RBI | 0.321 | -0.044 |
| predicted_SLG | 0.335 | -0.023 |
| predicted_SO | 0.943 | -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.140 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.660 | 0.000 |
| predicted_AVG | 0.203 | 0.004 |
| predicted_BB | 0.265 | 0.002 |
| predicted_H | 0.744 | 0.013 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.121 | 0.002 |
| predicted_OBP | 0.257 | -0.000 |
| predicted_R | 0.490 | 0.014 |
| predicted_RBI | 0.331 | 0.009 |
| predicted_SLG | 0.341 | 0.006 |
| predicted_SO | 0.936 | -0.007 |
AB rounded to 4 (raw=3.77), rates preserved: AVG=0.197 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.140 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.340 |
| predicted_AVG | 0.250 | 0.047 |
| predicted_BB | 0.000 | -0.265 |
| predicted_H | 1.000 | 0.256 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.250 | -0.007 |
| predicted_R | 0.000 | -0.490 |
| predicted_RBI | 0.000 | -0.331 |
| predicted_SLG | 0.250 | -0.091 |
| predicted_SO | 1.000 | 0.064 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.0769 | 0.1429 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.0769 | 0.2308 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 4.000 | 1.000 | 9.000 | 0.1714 | 0.1944 | 0.3143 | 0.1714 | 0.0286 | 0.0571 | 0.0286 | 0.2571 |
| season | 0.60 | 74 | - | 279.000 | 59.000 | 11.000 | 0.000 | 10.000 | 27.000 | 40.000 | 21.000 | 73.000 | 0.2115 | 0.2834 | 0.3584 | 0.2115 | 0.0358 | 0.0968 | 0.0753 | 0.2616 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1270 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5110 |
| predicted_AVG | 0.1829 |
| predicted_BB | 0.2340 |
| predicted_H | 0.6420 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.2435 |
| predicted_R | 0.3890 |
| predicted_RBI | 0.2620 |
| predicted_SLG | 0.3035 |
| predicted_SO | 0.8840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.1270 | 0.1397 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7700 | 3.5110 | 3.6602 | model_form_blend |
| predicted_AVG | 0.2110 | 0.1829 | 0.1991 | model_form_blend |
| predicted_BB | 0.2840 | 0.2340 | 0.2628 | model_form_blend |
| predicted_H | 0.7970 | 0.6420 | 0.7313 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.1350 | 0.0980 | 0.1193 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2435 | 0.2570 | model_form_blend |
| predicted_R | 0.5410 | 0.3890 | 0.4766 | model_form_blend |
| predicted_RBI | 0.3650 | 0.2620 | 0.3213 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3035 | 0.3349 | model_form_blend |
| predicted_SO | 0.9860 | 0.8840 | 0.9428 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 306 |
| Season rows before report date | 306 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.211 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260819_WAS@TEX |
| game_type | short |
| mlbID | 686611 |
| playerID | 686611 |
| playerName | Dylan Crews |
| pos | RF |
| started | False |
| startingPosition | RF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.286 |
| sl_xwoba | 0.319 |
| sl_xba | 0.237 |
| sl_xslg | 0.424 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 43.7 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 51.7 |
| at_bat_number | 68.0 |
| ab_pitcher | 656756.0 |
| ab_pitcher_name | Montgomery, Jordan |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 682928.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Dylan Crews flies out to center fielder Jarred Kelenic. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 86.5 |
| ab_launch_angle_last | 38.0 |
| ab_hit_distance_last | 309.0 |
| ab_estimated_ba_last | 0.006 |
| ab_estimated_woba_last | 0.005 |
| ab_estimated_slg_last | 0.008 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 83.66 |
| ab_release_spin_rate_avg | 1980.4 |
| ab_effective_speed_avg | 84.32000000000001 |
| ab_launch_speed_avg | 80.25 |
| ab_launch_angle_avg | -2.0 |
| ab_delta_run_exp_avg | -0.055 |
| ab_delta_home_win_exp_avg | 0.0002 |
| ab_delta_pitcher_run_exp_avg | 0.055 |
| ab_bat_speed_avg | 74.93333333333334 |
| ab_swing_length_avg | 8.333333333333334 |
| ab_launch_speed_max | 86.5 |
| ab_hit_distance_sc_max | 309.0 |
| ab_release_speed_max | 90.3 |
| ab_release_spin_rate_max | 2290.0 |
| ab_release_speed_min | 75.7 |
| ab_release_spin_rate_min | 1523.0 |
| ab_delta_run_exp_sum | -0.275 |
| ab_delta_home_win_exp_sum | 0.001 |
| ab_delta_pitcher_run_exp_sum | 0.275 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.036 | 1.000 | 0.000 | Hitting_2B | 0.038 | 0.000 | 0.962 | 1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 3.270 | 4.000 | 3.000 | Hitting_AB | 3.403 | 4.000 | 0.597 | 0.000 |
| predicted_AVG | 0.226 | 0.500 | 0.333 | Hitting_AVG | 0.229 | 0.000 | 0.271 | 0.500 |
| predicted_BB | 0.396 | 0.000 | 0.000 | Hitting_BB | 0.425 | 0.000 | -0.425 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_H | 0.739 | 2.000 | 1.000 | Hitting_H | 0.778 | 0.000 | 1.222 | 2.000 |
| predicted_HR | 0.009 | 0.000 | 0.000 | Hitting_HR | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_OBP | 0.310 | 0.500 | 0.333 | Hitting_OBP | 0.315 | 0.000 | 0.185 | 0.500 |
| predicted_R | 0.396 | 1.000 | 0.000 | Hitting_R | 0.439 | 0.000 | 0.561 | 1.000 |
| predicted_RBI | 0.306 | 1.000 | 0.000 | Hitting_RBI | 0.332 | 0.000 | 0.668 | 1.000 |
| predicted_SLG | 0.262 | 0.750 | 0.333 | Hitting_SLG | 0.267 | 0.000 | 0.483 | 0.750 |
| predicted_SO | 0.766 | 1.000 | 1.000 | Hitting_SO | 0.831 | 0.000 | 0.169 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.7390 -> 2.0000 (boost 1.2610, better) |
| Biggest Deboost | predicted_BB: 0.3960 -> 0.0000 (deboost -0.3960, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 1 | 4 | predicted_AB: 3.2700 -> 3.3465 (boost 0.0765, better) | predicted_R: 0.3960 -> 0.3397 (deboost -0.0563, worse) | Final model input calibrated with local 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 | 5 | 2 | 3 | 1 | 4 | predicted_H: 0.7289 -> 1.0000 (boost 0.2711, better) | predicted_BB: 0.3819 -> 0.0000 (deboost -0.3819, worse) | AB rounded to 3 (raw=3.35), rates preserved: AVG=0.218 HR/AB=0.003 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3494 -> 0.0000 (deboost -0.3494, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2178 -> 0.3330 (boost 0.1152, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2178 (deboost -0.1152, 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": "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.036,
"predicted_3B": 0.027,
"predicted_AB": 3.27,
"predicted_AVG": 0.226,
"predicted_BB": 0.396,
"predicted_H": 0.739,
"predicted_HR": 0.009,
"predicted_OBP": 0.31,
"predicted_R": 0.396,
"predicted_RBI": 0.306,
"predicted_SLG": 0.262,
"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.0343,
"predicted_3B": 0.0227,
"predicted_AB": 3.3465,
"predicted_AVG": 0.2145,
"predicted_BB": 0.3792,
"predicted_H": 0.7166,
"predicted_HBP": 0.007,
"predicted_HR": 0.0112,
"predicted_OBP": 0.2946,
"predicted_R": 0.3397,
"predicted_RBI": 0.2729,
"predicted_SLG": 0.2483,
"predicted_SO": 0.7441
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.036,
"after": 0.0343,
"delta": -0.0017,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0227,
"delta": -0.0043,
"percent_delta": -0.1593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.27,
"after": 3.3465,
"delta": 0.0765,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2145,
"delta": -0.0115,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.3792,
"delta": -0.0168,
"percent_delta": -0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.739,
"after": 0.7166,
"delta": -0.0224,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.009,
"after": 0.0112,
"delta": 0.0022,
"percent_delta": 0.2444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2946,
"delta": -0.0154,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.396,
"after": 0.3397,
"delta": -0.0563,
"percent_delta": -0.1422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.306,
"after": 0.2729,
"delta": -0.0331,
"percent_delta": -0.1082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.262,
"after": 0.2483,
"delta": -0.0137,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 0.7441,
"delta": -0.0219,
"percent_delta": -0.0286,
"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": 3.27,
"after": 3.3465,
"delta": 0.0765,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.396,
"after": 0.3397,
"delta": -0.0563,
"percent_delta": -0.1422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 111
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0343,
"predicted_3B": 0.0227,
"predicted_AB": 3.3465,
"predicted_AVG": 0.2178,
"predicted_BB": 0.3819,
"predicted_H": 0.7289,
"predicted_HBP": 0.007,
"predicted_HR": 0.0114,
"predicted_OBP": 0.2979,
"predicted_R": 0.3494,
"predicted_RBI": 0.2807,
"predicted_SLG": 0.2518,
"predicted_SO": 0.7389
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0343,
"after": 0.0343,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0227,
"after": 0.0227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3465,
"after": 3.3465,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2145,
"after": 0.2178,
"delta": 0.0033,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3792,
"after": 0.3819,
"delta": 0.0027,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7166,
"after": 0.7289,
"delta": 0.0123,
"percent_delta": 0.0172,
"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.0112,
"after": 0.0114,
"delta": 0.0002,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2946,
"after": 0.2979,
"delta": 0.0033,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3397,
"after": 0.3494,
"delta": 0.0097,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2729,
"after": 0.2807,
"delta": 0.0078,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2483,
"after": 0.2518,
"delta": 0.0035,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7441,
"after": 0.7389,
"delta": -0.0052,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.35), rates preserved: AVG=0.218 HR/AB=0.003",
"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.0343,
"after": 0.0,
"delta": -0.0343,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0227,
"after": 0.0,
"delta": -0.0227,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3465,
"after": 3.0,
"delta": -0.3465,
"percent_delta": -0.1035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3819,
"after": 0.0,
"delta": -0.3819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7289,
"after": 1.0,
"delta": 0.2711,
"percent_delta": 0.3719,
"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.0114,
"after": 0.0,
"delta": -0.0114,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2807,
"after": 0.0,
"delta": -0.2807,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7389,
"after": 1.0,
"delta": 0.2611,
"percent_delta": 0.3534,
"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.7289,
"after": 1.0,
"delta": 0.2711,
"percent_delta": 0.3719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3819,
"after": 0.0,
"delta": -0.3819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3494,
"after": 0.0,
"delta": -0.3494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3494,
"after": 0.0,
"delta": -0.3494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2178,
"after": 0.333,
"delta": 0.1152,
"percent_delta": 0.5289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2979,
"after": 0.333,
"delta": 0.0351,
"percent_delta": 0.1178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2518,
"after": 0.333,
"delta": 0.0812,
"percent_delta": 0.3225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2178,
"after": 0.333,
"delta": 0.1152,
"percent_delta": 0.5289,
"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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.2178,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2979,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2518,
"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.2178,
"delta": -0.1152,
"percent_delta": -0.346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2979,
"delta": -0.0351,
"percent_delta": -0.1054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2518,
"delta": -0.0812,
"percent_delta": -0.2438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2178,
"delta": -0.1152,
"percent_delta": -0.346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.036,
"after": 1.0,
"delta": 0.964,
"percent_delta": 26.7778,
"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": 3.27,
"after": 4.0,
"delta": 0.73,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2178,
"delta": -0.0082,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.739,
"after": 2.0,
"delta": 1.261,
"percent_delta": 1.7064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2979,
"delta": -0.0121,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.396,
"after": 1.0,
"delta": 0.604,
"percent_delta": 1.5253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.306,
"after": 1.0,
"delta": 0.694,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.262,
"after": 0.2518,
"delta": -0.0102,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 1.0,
"delta": 0.234,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.739,
"after": 2.0,
"delta": 1.261,
"percent_delta": 1.7064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"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.036 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.270 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.396 | - |
| predicted_H | 0.739 | - |
| predicted_HR | 0.009 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.396 | - |
| predicted_RBI | 0.306 | - |
| predicted_SLG | 0.262 | - |
| 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.034 | -0.002 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.346 | 0.076 |
| predicted_AVG | 0.214 | -0.012 |
| predicted_BB | 0.379 | -0.017 |
| predicted_H | 0.717 | -0.022 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.011 | 0.002 |
| predicted_OBP | 0.295 | -0.015 |
| predicted_R | 0.340 | -0.056 |
| predicted_RBI | 0.273 | -0.033 |
| predicted_SLG | 0.248 | -0.014 |
| predicted_SO | 0.744 | -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.034 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.346 | 0.000 |
| predicted_AVG | 0.218 | 0.003 |
| predicted_BB | 0.382 | 0.003 |
| predicted_H | 0.729 | 0.012 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.011 | 0.000 |
| predicted_OBP | 0.298 | 0.003 |
| predicted_R | 0.349 | 0.010 |
| predicted_RBI | 0.281 | 0.008 |
| predicted_SLG | 0.252 | 0.004 |
| predicted_SO | 0.739 | -0.005 |
AB rounded to 3 (raw=3.35), rates preserved: AVG=0.218 HR/AB=0.003
| 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.034 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.346 |
| predicted_AVG | 0.333 | 0.115 |
| predicted_BB | 0.000 | -0.382 |
| predicted_H | 1.000 | 0.271 |
| predicted_HR | 0.000 | -0.011 |
| predicted_OBP | 0.333 | 0.035 |
| predicted_R | 0.000 | -0.349 |
| predicted_RBI | 0.000 | -0.281 |
| predicted_SLG | 0.333 | 0.081 |
| predicted_SO | 1.000 | 0.261 |
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 | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.1579 | 0.2000 | 0.1579 | 0.1579 | 0.0000 | 0.0000 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 10 | - | 35.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 6.000 | 0.1429 | 0.2308 | 0.1429 | 0.1429 | 0.0000 | 0.0286 | 0.1143 | 0.1714 |
| season | 0.60 | 111 | - | 363.000 | 82.000 | 4.000 | 3.000 | 1.000 | 34.000 | 44.000 | 44.000 | 85.000 | 0.2259 | 0.3098 | 0.2617 | 0.2259 | 0.0027 | 0.0937 | 0.1212 | 0.2342 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0320 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.4480 |
| predicted_AVG | 0.1993 |
| predicted_BB | 0.3570 |
| predicted_H | 0.6870 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0140 |
| predicted_OBP | 0.2743 |
| predicted_R | 0.2650 |
| predicted_RBI | 0.2290 |
| predicted_SLG | 0.2302 |
| predicted_SO | 0.7150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0360 | 0.0320 | 0.0343 | model_form_blend |
| predicted_3B | 0.0270 | 0.0170 | 0.0227 | model_form_blend |
| predicted_AB | 3.2700 | 3.4480 | 3.3465 | model_form_blend |
| predicted_AVG | 0.2260 | 0.1993 | 0.2145 | model_form_blend |
| predicted_BB | 0.3960 | 0.3570 | 0.3792 | model_form_blend |
| predicted_H | 0.7390 | 0.6870 | 0.7166 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0090 | 0.0140 | 0.0112 | model_form_blend |
| predicted_OBP | 0.3100 | 0.2743 | 0.2946 | model_form_blend |
| predicted_R | 0.3960 | 0.2650 | 0.3397 | model_form_blend |
| predicted_RBI | 0.3060 | 0.2290 | 0.2729 | model_form_blend |
| predicted_SLG | 0.2620 | 0.2302 | 0.2483 | model_form_blend |
| predicted_SO | 0.7660 | 0.7150 | 0.7441 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 419 |
| Season rows before report date | 419 |
| Report year | 2026 |
| Profile rows used | 111 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.226 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 683083 |
| playerID | 683083 |
| playerName | Nasim Nuñez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.266 |
| sl_xwoba | 0.269 |
| sl_xba | 0.223 |
| sl_xslg | 0.27 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 0.4 |
| sl_hard_hit_percent | 22.0 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 8.1 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 46.9 |
| at_bat_number | 61.0 |
| ab_pitcher | 656756.0 |
| ab_pitcher_name | Montgomery, Jordan |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Nasim Nuñez grounds out, third baseman Cody Freeman to first baseman Joc Pederson. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 5.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 83.2 |
| ab_launch_angle_last | -14.0 |
| ab_hit_distance_last | 7.0 |
| ab_estimated_ba_last | 0.123 |
| ab_estimated_woba_last | 0.111 |
| ab_estimated_slg_last | 0.134 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 91.325 |
| ab_release_spin_rate_avg | 2264.0 |
| ab_effective_speed_avg | 91.975 |
| ab_launch_speed_avg | 83.2 |
| ab_launch_angle_avg | -14.0 |
| ab_delta_run_exp_avg | -0.06475 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.06475 |
| ab_bat_speed_avg | 73.0 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 83.2 |
| ab_hit_distance_sc_max | 7.0 |
| ab_release_speed_max | 91.7 |
| ab_release_spin_rate_max | 2351.0 |
| ab_release_speed_min | 90.6 |
| ab_release_spin_rate_min | 2184.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.227 | 1.000 | 0.000 | Hitting_3B | 0.188 | 0.000 | 0.812 | 1.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 1.688 | 1.000 | 2.312 | 3.000 |
| predicted_AVG | 0.305 | 0.250 | 0.333 | Hitting_AVG | 0.296 | 0.000 | -0.046 | 0.250 |
| predicted_BB | 0.227 | 0.000 | 0.000 | Hitting_BB | 0.188 | 0.000 | -0.188 | 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.500 | 0.000 | 0.500 | 1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.305 | 0.250 | 0.333 | Hitting_OBP | 0.389 | 0.000 | -0.139 | 0.250 |
| predicted_R | 0.682 | 1.000 | 1.000 | Hitting_R | 0.625 | 0.000 | 0.375 | 1.000 |
| predicted_RBI | 0.230 | 1.000 | 0.000 | Hitting_RBI | 0.312 | 0.000 | 0.688 | 1.000 |
| predicted_SLG | 0.410 | 0.750 | 0.333 | Hitting_SLG | 0.741 | 0.000 | 0.009 | 0.750 |
| predicted_SO | 0.682 | 1.000 | 1.000 | Hitting_SO | 0.500 | 0.000 | 0.500 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_BB: 0.2270 -> 0.0000 (deboost -0.2270, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.6669 (boost 0.1669, better) | predicted_AVG: 0.3050 -> 0.2893 (deboost -0.0157, worse) | Final model input calibrated with local form: 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.2893 -> 0.1248 (deboost -0.1645, 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.6669 -> 3.0000 (boost 0.3331, better) | predicted_H: 0.3329 -> 0.0000 (deboost -0.3329, worse) | AB rounded to 3 (raw=2.67), rates preserved: AVG=0.125 HR/AB=0.017 |
| 5 | consistency_constraints | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1248 -> 0.3330 (boost 0.2082, 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_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.1248 (deboost -0.2082, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687605",
"player_name": "Andrew Pinckney",
"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.0,
"predicted_3B": 0.227,
"predicted_AB": 2.5,
"predicted_AVG": 0.305,
"predicted_BB": 0.227,
"predicted_H": 0.18,
"predicted_HR": 0.03,
"predicted_OBP": 0.305,
"predicted_R": 0.682,
"predicted_RBI": 0.23,
"predicted_SLG": 0.41,
"predicted_SO": 0.682
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0256,
"predicted_3B": 0.1994,
"predicted_AB": 2.6669,
"predicted_AVG": 0.2893,
"predicted_BB": 0.235,
"predicted_H": 0.3273,
"predicted_HBP": 0.127,
"predicted_HR": 0.0453,
"predicted_OBP": 0.3076,
"predicted_R": 0.6404,
"predicted_RBI": 0.2718,
"predicted_SLG": 0.4162,
"predicted_SO": 0.7133
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0256,
"delta": 0.0256,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.227,
"after": 0.1994,
"delta": -0.0276,
"percent_delta": -0.1216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6669,
"delta": 0.1669,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.305,
"after": 0.2893,
"delta": -0.0157,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.235,
"delta": 0.008,
"percent_delta": 0.0352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.18,
"after": 0.3273,
"delta": 0.1473,
"percent_delta": 0.8183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0453,
"delta": 0.0153,
"percent_delta": 0.51,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3076,
"delta": 0.0026,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.682,
"after": 0.6404,
"delta": -0.0416,
"percent_delta": -0.061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.2718,
"delta": 0.0418,
"percent_delta": 0.1817,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4162,
"delta": 0.0062,
"percent_delta": 0.0151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 0.7133,
"delta": 0.0313,
"percent_delta": 0.0459,
"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.6669,
"delta": 0.1669,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.305,
"after": 0.2893,
"delta": -0.0157,
"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": 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.0256,
"predicted_3B": 0.1994,
"predicted_AB": 2.6669,
"predicted_AVG": 0.1248,
"predicted_BB": 0.2366,
"predicted_H": 0.3329,
"predicted_HBP": 0.127,
"predicted_HR": 0.0461,
"predicted_OBP": 0.1962,
"predicted_R": 0.6587,
"predicted_RBI": 0.2796,
"predicted_SLG": 0.3358,
"predicted_SO": 0.7083
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0256,
"after": 0.0256,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1994,
"after": 0.1994,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6669,
"after": 2.6669,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2893,
"after": 0.1248,
"delta": -0.1645,
"percent_delta": -0.5686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.235,
"after": 0.2366,
"delta": 0.0016,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3273,
"after": 0.3329,
"delta": 0.0056,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.127,
"after": 0.127,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0453,
"after": 0.0461,
"delta": 0.0008,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3076,
"after": 0.1962,
"delta": -0.1114,
"percent_delta": -0.3622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6404,
"after": 0.6587,
"delta": 0.0183,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2718,
"after": 0.2796,
"delta": 0.0078,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4162,
"after": 0.3358,
"delta": -0.0804,
"percent_delta": -0.1932,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7133,
"after": 0.7083,
"delta": -0.005,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2893,
"after": 0.1248,
"delta": -0.1645,
"percent_delta": -0.5686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.125 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.0256,
"after": 0.0,
"delta": -0.0256,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1994,
"after": 0.0,
"delta": -0.1994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.6669,
"after": 3.0,
"delta": 0.3331,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2366,
"after": 0.0,
"delta": -0.2366,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3329,
"after": 0.0,
"delta": -0.3329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.127,
"after": 0.0,
"delta": -0.127,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0461,
"after": 0.0,
"delta": -0.0461,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2796,
"after": 0.0,
"delta": -0.2796,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7083,
"after": 1.0,
"delta": 0.2917,
"percent_delta": 0.4118,
"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.6669,
"after": 3.0,
"delta": 0.3331,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3329,
"after": 0.0,
"delta": -0.3329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6587,
"after": 1.0,
"delta": 0.3413,
"percent_delta": 0.5181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1248,
"after": 0.333,
"delta": 0.2082,
"percent_delta": 1.6683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1962,
"after": 0.333,
"delta": 0.1368,
"percent_delta": 0.6972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3358,
"after": 0.333,
"delta": -0.0028,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.1248,
"after": 0.333,
"delta": 0.2082,
"percent_delta": 1.6683,
"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": 1.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1248,
"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.1962,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3358,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1248,
"delta": -0.2082,
"percent_delta": -0.6251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.1962,
"delta": -0.1368,
"percent_delta": -0.4109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3358,
"delta": 0.0028,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.1248,
"delta": -0.2082,
"percent_delta": -0.6251,
"direction": "deboost",
"projection_effect": "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.227,
"after": 1.0,
"delta": 0.773,
"percent_delta": 3.4053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.305,
"after": 0.1248,
"delta": -0.1802,
"percent_delta": -0.5908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.305,
"after": 0.1962,
"delta": -0.1088,
"percent_delta": -0.3567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.682,
"after": 1.0,
"delta": 0.318,
"percent_delta": 0.4663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.3358,
"delta": -0.0742,
"percent_delta": -0.181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 1.0,
"delta": 0.318,
"percent_delta": 0.4663,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"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_BB",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"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.000 | - |
| predicted_3B | 0.227 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.305 | - |
| predicted_BB | 0.227 | - |
| predicted_H | 0.180 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.682 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 0.682 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.026 | 0.026 |
| predicted_3B | 0.199 | -0.028 |
| predicted_AB | 2.667 | 0.167 |
| predicted_AVG | 0.289 | -0.016 |
| predicted_BB | 0.235 | 0.008 |
| predicted_H | 0.327 | 0.147 |
| predicted_HBP | 0.127 | - |
| predicted_HR | 0.045 | 0.015 |
| predicted_OBP | 0.308 | 0.003 |
| predicted_R | 0.640 | -0.042 |
| predicted_RBI | 0.272 | 0.042 |
| predicted_SLG | 0.416 | 0.006 |
| predicted_SO | 0.713 | 0.031 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.026 | 0.000 |
| predicted_3B | 0.199 | 0.000 |
| predicted_AB | 2.667 | 0.000 |
| predicted_AVG | 0.125 | -0.165 |
| predicted_BB | 0.237 | 0.002 |
| predicted_H | 0.333 | 0.006 |
| predicted_HBP | 0.127 | 0.000 |
| predicted_HR | 0.046 | 0.001 |
| predicted_OBP | 0.196 | -0.111 |
| predicted_R | 0.659 | 0.018 |
| predicted_RBI | 0.280 | 0.008 |
| predicted_SLG | 0.336 | -0.080 |
| predicted_SO | 0.708 | -0.005 |
AB rounded to 3 (raw=2.67), rates preserved: AVG=0.125 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.026 |
| predicted_3B | 0.000 | -0.199 |
| predicted_AB | 3.000 | 0.333 |
| predicted_AVG | 0.333 | 0.208 |
| predicted_BB | 0.000 | -0.237 |
| predicted_H | 1.000 | 0.667 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | 0.137 |
| predicted_R | 1.000 | 0.341 |
| predicted_RBI | 0.000 | -0.280 |
| predicted_SLG | 0.333 | -0.003 |
| predicted_SO | 1.000 | 0.292 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | 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 | 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 | - | 9.000 | 2.000 | 0.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 3.000 | 0.2222 | 0.3333 | 0.4444 | 0.2222 | 0.0000 | 0.1111 | 0.1111 | 0.3333 |
| last_10 | 0.20 | 6 | - | 11.000 | 3.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 1.000 | 3.000 | 0.2727 | 0.3571 | 0.7273 | 0.2727 | 0.0909 | 0.1818 | 0.0909 | 0.2727 |
| season | 0.60 | 6 | - | 11.000 | 3.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 1.000 | 3.000 | 0.2727 | 0.3571 | 0.7273 | 0.2727 | 0.0909 | 0.1818 | 0.0909 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.1170 |
| predicted_AB | 3.1660 |
| predicted_AVG | 0.2425 |
| predicted_BB | 0.2590 |
| predicted_H | 0.7680 |
| predicted_HBP | 0.1270 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.3155 |
| predicted_R | 0.5160 |
| predicted_RBI | 0.3970 |
| predicted_SLG | 0.4347 |
| predicted_SO | 0.8070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1020 | 0.0256 | model_form_blend |
| predicted_3B | 0.2270 | 0.1170 | 0.1994 | model_form_blend |
| predicted_AB | 2.5000 | 3.1660 | 2.6669 | model_form_blend |
| predicted_AVG | 0.3050 | 0.2425 | 0.2893 | model_form_blend |
| predicted_BB | 0.2270 | 0.2590 | 0.2350 | model_form_blend |
| predicted_H | 0.1800 | 0.7680 | 0.3273 | model_form_blend |
| predicted_HBP | - | 0.1270 | 0.1270 | form_only |
| predicted_HR | 0.0300 | 0.0910 | 0.0453 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3155 | 0.3076 | model_form_blend |
| predicted_R | 0.6820 | 0.5160 | 0.6404 | model_form_blend |
| predicted_RBI | 0.2300 | 0.3970 | 0.2718 | model_form_blend |
| predicted_SLG | 0.4100 | 0.4347 | 0.4162 | model_form_blend |
| predicted_SO | 0.6820 | 0.8070 | 0.7133 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260818_WAS@TEX |
| game_type | ph |
| mlbID | 687605 |
| note | Lined out for Vivas in the 9th. |
| playerID | 687605 |
| playerName | Andrew Pinckney |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-18 |
| game_pk | 822859.0 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.426 |
| sl_xwoba | 0.376 |
| sl_xba | 0.252 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 44.4 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 55.6 |
| sl_exit_velocity_avg | 95.9 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 42.0 |
| at_bat_number | 70.0 |
| ab_pitcher | 641302.0 |
| ab_pitcher_name | Alexander, Tyler |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 686611.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 5.0 |
| ab_event | field_out |
| ab_event_description | Andrew Pinckney lines out to left fielder Jarred Kelenic. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 92.4 |
| ab_launch_angle_last | 19.0 |
| ab_hit_distance_last | 307.0 |
| ab_estimated_ba_last | 0.44 |
| ab_estimated_woba_last | 0.403 |
| ab_estimated_slg_last | 0.553 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 5.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 84.83333333333333 |
| ab_release_spin_rate_avg | 2127.333333333333 |
| ab_effective_speed_avg | 84.93333333333334 |
| ab_launch_speed_avg | 92.4 |
| ab_launch_angle_avg | 19.0 |
| ab_delta_run_exp_avg | -0.0863333333333333 |
| ab_delta_home_win_exp_avg | 0.0016666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0863333333333333 |
| ab_launch_speed_max | 92.4 |
| ab_hit_distance_sc_max | 307.0 |
| ab_release_speed_max | 88.3 |
| ab_release_spin_rate_max | 2517.0 |
| ab_release_speed_min | 80.4 |
| ab_release_spin_rate_min | 1454.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | 0.005 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.216 | 0.000 | 0.000 | Hitting_2B | 0.182 | 1.000 | -0.182 | -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.613 | 4.000 | 1.387 | 0.000 |
| predicted_AVG | 0.371 | 0.250 | 0.333 | Hitting_AVG | 0.265 | 0.750 | -0.015 | -0.500 |
| predicted_BB | 0.259 | 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.750 | 1.000 | 1.000 | Hitting_H | 0.693 | 3.000 | 0.307 | -2.000 |
| predicted_HR | 0.240 | 1.000 | 0.000 | Hitting_HR | 0.204 | 1.000 | 0.796 | 0.000 |
| predicted_OBP | 0.381 | 0.250 | 0.333 | Hitting_OBP | 0.365 | 0.750 | -0.115 | -0.500 |
| predicted_R | 0.517 | 1.000 | 1.000 | Hitting_R | 0.613 | 3.000 | 0.387 | -2.000 |
| predicted_RBI | 0.640 | 2.000 | 1.000 | Hitting_RBI | 0.854 | 3.000 | 1.146 | -1.000 |
| predicted_SLG | 0.673 | 1.000 | 0.333 | Hitting_SLG | 0.570 | 1.750 | 0.430 | -0.750 |
| predicted_SO | 0.668 | 1.000 | 1.000 | Hitting_SO | 0.642 | 0.000 | 0.358 | 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_BB: 0.2590 -> 0.0000 (deboost -0.2590, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AB: 2.5000 -> 2.5863 (boost 0.0863, better) | predicted_AVG: 0.3710 -> 0.3432 (deboost -0.0278, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.6557 -> 0.6654 (boost 0.0097, better) | predicted_AVG: 0.3432 -> 0.3054 (deboost -0.0378, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_AB: 2.5863 -> 3.0000 (boost 0.4137, better) | predicted_BB: 0.2525 -> 0.0000 (deboost -0.2525, worse) | AB rounded to 3 (raw=2.59), rates preserved: AVG=0.305 HR/AB=0.089 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5929 -> 1.0000 (boost 0.4071, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3054 -> 0.3330 (boost 0.0276, better) | predicted_SLG: 0.6654 -> 0.3330 (deboost -0.3324, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.6654 (boost 0.3324, better) | predicted_AVG: 0.3330 -> 0.3054 (deboost -0.0276, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665953",
"player_name": "Andrés Chaparro",
"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.216,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.371,
"predicted_BB": 0.259,
"predicted_H": 0.75,
"predicted_HR": 0.24,
"predicted_OBP": 0.381,
"predicted_R": 0.517,
"predicted_RBI": 0.64,
"predicted_SLG": 0.673,
"predicted_SO": 0.668
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2374,
"predicted_3B": 0.0008,
"predicted_AB": 2.5863,
"predicted_AVG": 0.3432,
"predicted_BB": 0.2507,
"predicted_H": 0.7765,
"predicted_HBP": 0.067,
"predicted_HR": 0.2269,
"predicted_OBP": 0.3776,
"predicted_R": 0.5764,
"predicted_RBI": 0.6677,
"predicted_SLG": 0.6557,
"predicted_SO": 0.6668
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.216,
"after": 0.2374,
"delta": 0.0214,
"percent_delta": 0.0991,
"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.5863,
"delta": 0.0863,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.371,
"after": 0.3432,
"delta": -0.0278,
"percent_delta": -0.0749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.259,
"after": 0.2507,
"delta": -0.0083,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7765,
"delta": 0.0265,
"percent_delta": 0.0353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2269,
"delta": -0.0131,
"percent_delta": -0.0546,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3776,
"delta": -0.0034,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 0.5764,
"delta": 0.0594,
"percent_delta": 0.1149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6677,
"delta": 0.0277,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.673,
"after": 0.6557,
"delta": -0.0173,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.668,
"after": 0.6668,
"delta": -0.0012,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5863,
"delta": 0.0863,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.371,
"after": 0.3432,
"delta": -0.0278,
"percent_delta": -0.0749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2374,
"predicted_3B": 0.0008,
"predicted_AB": 2.5863,
"predicted_AVG": 0.3054,
"predicted_BB": 0.2525,
"predicted_H": 0.7898,
"predicted_HBP": 0.067,
"predicted_HR": 0.2308,
"predicted_OBP": 0.3671,
"predicted_R": 0.5929,
"predicted_RBI": 0.6868,
"predicted_SLG": 0.6654,
"predicted_SO": 0.6621
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2374,
"after": 0.2374,
"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.5863,
"after": 2.5863,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3432,
"after": 0.3054,
"delta": -0.0378,
"percent_delta": -0.1101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2507,
"after": 0.2525,
"delta": 0.0018,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7765,
"after": 0.7898,
"delta": 0.0133,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2269,
"after": 0.2308,
"delta": 0.0039,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3776,
"after": 0.3671,
"delta": -0.0105,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5764,
"after": 0.5929,
"delta": 0.0165,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6677,
"after": 0.6868,
"delta": 0.0191,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6557,
"after": 0.6654,
"delta": 0.0097,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6668,
"after": 0.6621,
"delta": -0.0047,
"percent_delta": -0.007,
"direction": "no_change",
"projection_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.6557,
"after": 0.6654,
"delta": 0.0097,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3432,
"after": 0.3054,
"delta": -0.0378,
"percent_delta": -0.1101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.59), rates preserved: AVG=0.305 HR/AB=0.089",
"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.2374,
"after": 0.0,
"delta": -0.2374,
"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.5863,
"after": 3.0,
"delta": 0.4137,
"percent_delta": 0.16,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2525,
"after": 0.0,
"delta": -0.2525,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7898,
"after": 1.0,
"delta": 0.2102,
"percent_delta": 0.2661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2308,
"after": 0.0,
"delta": -0.2308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6868,
"after": 1.0,
"delta": 0.3132,
"percent_delta": 0.456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6621,
"after": 1.0,
"delta": 0.3379,
"percent_delta": 0.5103,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5863,
"after": 3.0,
"delta": 0.4137,
"percent_delta": 0.16,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2525,
"after": 0.0,
"delta": -0.2525,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5929,
"after": 1.0,
"delta": 0.4071,
"percent_delta": 0.6866,
"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.5929,
"after": 1.0,
"delta": 0.4071,
"percent_delta": 0.6866,
"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.3054,
"after": 0.333,
"delta": 0.0276,
"percent_delta": 0.0904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3671,
"after": 0.333,
"delta": -0.0341,
"percent_delta": -0.0929,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6654,
"after": 0.333,
"delta": -0.3324,
"percent_delta": -0.4995,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3054,
"after": 0.333,
"delta": 0.0276,
"percent_delta": 0.0904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6654,
"after": 0.333,
"delta": -0.3324,
"percent_delta": -0.4995,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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_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.3054,
"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.3671,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6654,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3054,
"delta": -0.0276,
"percent_delta": -0.083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3671,
"delta": 0.0341,
"percent_delta": 0.1025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.6654,
"delta": 0.3324,
"percent_delta": 0.9983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.6654,
"delta": 0.3324,
"percent_delta": 0.9983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3054,
"delta": -0.0276,
"percent_delta": -0.083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.371,
"after": 0.3054,
"delta": -0.0656,
"percent_delta": -0.1768,
"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.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3671,
"delta": -0.0139,
"percent_delta": -0.0365,
"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.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.673,
"after": 0.6654,
"delta": -0.0076,
"percent_delta": -0.0113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.668,
"after": 1.0,
"delta": 0.332,
"percent_delta": 0.497,
"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_BB",
"before": 0.259,
"after": 0.0,
"delta": -0.259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.371 | - |
| predicted_BB | 0.259 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.381 | - |
| predicted_R | 0.517 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.673 | - |
| predicted_SO | 0.668 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.021 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.586 | 0.086 |
| predicted_AVG | 0.343 | -0.028 |
| predicted_BB | 0.251 | -0.008 |
| predicted_H | 0.776 | 0.026 |
| predicted_HBP | 0.067 | - |
| predicted_HR | 0.227 | -0.013 |
| predicted_OBP | 0.378 | -0.003 |
| predicted_R | 0.576 | 0.059 |
| predicted_RBI | 0.668 | 0.028 |
| predicted_SLG | 0.656 | -0.017 |
| predicted_SO | 0.667 | -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.237 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.586 | 0.000 |
| predicted_AVG | 0.305 | -0.038 |
| predicted_BB | 0.253 | 0.002 |
| predicted_H | 0.790 | 0.013 |
| predicted_HBP | 0.067 | 0.000 |
| predicted_HR | 0.231 | 0.004 |
| predicted_OBP | 0.367 | -0.011 |
| predicted_R | 0.593 | 0.016 |
| predicted_RBI | 0.687 | 0.019 |
| predicted_SLG | 0.665 | 0.010 |
| predicted_SO | 0.662 | -0.005 |
AB rounded to 3 (raw=2.59), rates preserved: AVG=0.305 HR/AB=0.089
| 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.237 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.414 |
| predicted_AVG | 0.333 | 0.028 |
| predicted_BB | 0.000 | -0.253 |
| predicted_H | 1.000 | 0.210 |
| predicted_HR | 0.000 | -0.231 |
| predicted_OBP | 0.333 | -0.034 |
| predicted_R | 1.000 | 0.407 |
| predicted_RBI | 1.000 | 0.313 |
| predicted_SLG | 0.333 | -0.332 |
| 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 | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 6.000 | 2.000 | 0.000 | 2.000 | 4.000 | 6.000 | 1.000 | 3.000 | 0.4286 | 0.4667 | 1.0000 | 0.4286 | 0.1429 | 0.2857 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 26.000 | 10.000 | 4.000 | 0.000 | 2.000 | 9.000 | 8.000 | 2.000 | 6.000 | 0.3846 | 0.4483 | 0.7692 | 0.3846 | 0.0769 | 0.3462 | 0.0769 | 0.2308 |
| season | 0.60 | 50 | - | 116.000 | 29.000 | 10.000 | 0.000 | 8.000 | 32.000 | 24.000 | 12.000 | 31.000 | 0.2500 | 0.3409 | 0.5431 | 0.2500 | 0.0690 | 0.2759 | 0.1035 | 0.2672 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2700 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.7180 |
| predicted_AVG | 0.3007 |
| predicted_BB | 0.2380 |
| predicted_H | 0.8170 |
| predicted_HBP | 0.0670 |
| predicted_HR | 0.2070 |
| predicted_OBP | 0.3723 |
| predicted_R | 0.6670 |
| predicted_RBI | 0.7100 |
| predicted_SLG | 0.6294 |
| predicted_SO | 0.6650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2160 | 0.2700 | 0.2374 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.7180 | 2.5863 | model_form_blend |
| predicted_AVG | 0.3710 | 0.3007 | 0.3432 | model_form_blend |
| predicted_BB | 0.2590 | 0.2380 | 0.2507 | model_form_blend |
| predicted_H | 0.7500 | 0.8170 | 0.7765 | model_form_blend |
| predicted_HBP | - | 0.0670 | 0.0670 | form_only |
| predicted_HR | 0.2400 | 0.2070 | 0.2269 | model_form_blend |
| predicted_OBP | 0.3810 | 0.3723 | 0.3776 | model_form_blend |
| predicted_R | 0.5170 | 0.6670 | 0.5764 | model_form_blend |
| predicted_RBI | 0.6400 | 0.7100 | 0.6677 | model_form_blend |
| predicted_SLG | 0.6730 | 0.6294 | 0.6557 | model_form_blend |
| predicted_SO | 0.6680 | 0.6650 | 0.6668 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 137 |
| Season rows before report date | 137 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 7 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 665953 |
| playerID | 665953 |
| playerName | Andrés Chaparro |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.389 |
| sl_xwoba | 0.377 |
| sl_xba | 0.25 |
| sl_xslg | 0.51 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 15.3 |
| sl_hard_hit_percent | 49.4 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 46.4 |
| at_bat_number | 54.0 |
| ab_pitcher | 682608.0 |
| ab_pitcher_name | Gray, Peyton |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 677588.0 |
| ab_on_3b_start | 694673.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 0.0 |
| ab_event | home_run |
| ab_event_description | Andrés Chaparro homers (8) on a fly ball to left field. Abimelec Ortiz scores. José Tena scores. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 104.5 |
| ab_launch_angle_last | 34.0 |
| ab_hit_distance_last | 397.0 |
| ab_estimated_ba_last | 0.726 |
| ab_estimated_woba_last | 1.44 |
| ab_estimated_slg_last | 2.825 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 85.125 |
| ab_release_spin_rate_avg | 2199.0 |
| ab_effective_speed_avg | 86.15 |
| ab_launch_speed_avg | 104.5 |
| ab_launch_angle_avg | 34.0 |
| ab_delta_run_exp_avg | 0.3229999999999999 |
| ab_delta_home_win_exp_avg | -0.021 |
| ab_delta_pitcher_run_exp_avg | -0.3229999999999999 |
| ab_bat_speed_avg | 73.85 |
| ab_swing_length_avg | 7.75 |
| ab_launch_speed_max | 104.5 |
| ab_hit_distance_sc_max | 397.0 |
| ab_release_speed_max | 88.0 |
| ab_release_spin_rate_max | 2584.0 |
| ab_release_speed_min | 83.3 |
| ab_release_spin_rate_min | 1785.0 |
| ab_delta_run_exp_sum | 1.2919999999999998 |
| ab_delta_home_win_exp_sum | -0.084 |
| ab_delta_pitcher_run_exp_sum | -1.2919999999999998 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.263 | 1.000 | 0.000 | Hitting_2B | 0.274 | 0.000 | 0.726 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.660 | 4.000 | 4.000 | Hitting_AB | 3.463 | 3.000 | 0.537 | 1.000 |
| predicted_AVG | 0.303 | 0.250 | 0.250 | Hitting_AVG | 0.278 | 0.667 | -0.028 | -0.417 |
| predicted_BB | 0.175 | 0.000 | 0.000 | Hitting_BB | 0.193 | 1.000 | -0.193 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 1.110 | 1.000 | 1.000 | Hitting_H | 0.961 | 2.000 | 0.039 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_OBP | 0.368 | 0.250 | 0.250 | Hitting_OBP | 0.317 | 0.750 | -0.067 | -0.500 |
| predicted_R | 0.462 | 1.000 | 0.000 | Hitting_R | 0.505 | 0.000 | 0.495 | 1.000 |
| predicted_RBI | 0.620 | 1.000 | 1.000 | Hitting_RBI | 0.554 | 1.000 | 0.446 | 0.000 |
| predicted_SLG | 0.419 | 0.500 | 0.250 | Hitting_SLG | 0.445 | 0.667 | 0.055 | -0.167 |
| predicted_SO | 0.412 | 0.000 | 0.000 | Hitting_SO | 0.456 | 0.000 | -0.456 | 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.2630 -> 1.0000 (boost 0.7370, better) |
| Biggest Deboost | predicted_SO: 0.4120 -> 0.0000 (deboost -0.4120, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.3030 -> 0.3129 (boost 0.0099, better) | predicted_AB: 3.6600 -> 3.5389 (deboost -0.1211, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4250 -> 0.4392 (boost 0.0142, better) | predicted_OBP: 0.3719 -> 0.3582 (deboost -0.0137, 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.5389 -> 4.0000 (boost 0.4611, better) | predicted_SO: 0.4234 -> 0.0000 (deboost -0.4234, better) | AB rounded to 4 (raw=3.66), rates preserved: AVG=0.307 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4518 -> 0.0000 (deboost -0.4518, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4392 -> 0.2500 (deboost -0.1892, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4392 (boost 0.1892, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"position": "C",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.263,
"predicted_3B": 0.0,
"predicted_AB": 3.66,
"predicted_AVG": 0.303,
"predicted_BB": 0.175,
"predicted_H": 1.11,
"predicted_HR": 0.07,
"predicted_OBP": 0.368,
"predicted_R": 0.462,
"predicted_RBI": 0.62,
"predicted_SLG": 0.419,
"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.2275,
"predicted_3B": 0.0004,
"predicted_AB": 3.5389,
"predicted_AVG": 0.3129,
"predicted_BB": 0.2206,
"predicted_H": 1.1062,
"predicted_HBP": 0.017,
"predicted_HR": 0.0658,
"predicted_OBP": 0.3719,
"predicted_R": 0.4392,
"predicted_RBI": 0.6052,
"predicted_SLG": 0.425,
"predicted_SO": 0.4264
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.263,
"after": 0.2275,
"delta": -0.0355,
"percent_delta": -0.135,
"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.66,
"after": 3.5389,
"delta": -0.1211,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.303,
"after": 0.3129,
"delta": 0.0099,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.175,
"after": 0.2206,
"delta": 0.0456,
"percent_delta": 0.2606,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.1062,
"delta": -0.0038,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0658,
"delta": -0.0042,
"percent_delta": -0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3719,
"delta": 0.0039,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 0.4392,
"delta": -0.0228,
"percent_delta": -0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6052,
"delta": -0.0148,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.425,
"delta": 0.006,
"percent_delta": 0.0143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.412,
"after": 0.4264,
"delta": 0.0144,
"percent_delta": 0.035,
"direction": "no_change",
"projection_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.303,
"after": 0.3129,
"delta": 0.0099,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.66,
"after": 3.5389,
"delta": -0.1211,
"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": 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.2275,
"predicted_3B": 0.0004,
"predicted_AB": 3.5389,
"predicted_AVG": 0.3179,
"predicted_BB": 0.2221,
"predicted_H": 1.1251,
"predicted_HBP": 0.017,
"predicted_HR": 0.0669,
"predicted_OBP": 0.3582,
"predicted_R": 0.4518,
"predicted_RBI": 0.6225,
"predicted_SLG": 0.4392,
"predicted_SO": 0.4234
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2275,
"after": 0.2275,
"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.5389,
"after": 3.5389,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3129,
"after": 0.3179,
"delta": 0.005,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2206,
"after": 0.2221,
"delta": 0.0015,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1062,
"after": 1.1251,
"delta": 0.0189,
"percent_delta": 0.0171,
"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.0658,
"after": 0.0669,
"delta": 0.0011,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3719,
"after": 0.3582,
"delta": -0.0137,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4392,
"after": 0.4518,
"delta": 0.0126,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6052,
"after": 0.6225,
"delta": 0.0173,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.4392,
"delta": 0.0142,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4264,
"after": 0.4234,
"delta": -0.003,
"percent_delta": -0.007,
"direction": "no_change",
"projection_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.425,
"after": 0.4392,
"delta": 0.0142,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3719,
"after": 0.3582,
"delta": -0.0137,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.307 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2275,
"after": 0.0,
"delta": -0.2275,
"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.5389,
"after": 4.0,
"delta": 0.4611,
"percent_delta": 0.1303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2221,
"after": 0.0,
"delta": -0.2221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1251,
"after": 1.0,
"delta": -0.1251,
"percent_delta": -0.1112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0669,
"after": 0.0,
"delta": -0.0669,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6225,
"after": 1.0,
"delta": 0.3775,
"percent_delta": 0.6064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4234,
"after": 0.0,
"delta": -0.4234,
"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": 3.5389,
"after": 4.0,
"delta": 0.4611,
"percent_delta": 0.1303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4234,
"after": 0.0,
"delta": -0.4234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4518,
"after": 0.0,
"delta": -0.4518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4518,
"after": 0.0,
"delta": -0.4518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3179,
"after": 0.25,
"delta": -0.0679,
"percent_delta": -0.2136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3582,
"after": 0.25,
"delta": -0.1082,
"percent_delta": -0.3021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4392,
"after": 0.25,
"delta": -0.1892,
"percent_delta": -0.4308,
"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.4392,
"after": 0.25,
"delta": -0.1892,
"percent_delta": -0.4308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 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.3179,
"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.3582,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4392,
"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.3179,
"delta": 0.0679,
"percent_delta": 0.2717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3582,
"delta": 0.1082,
"percent_delta": 0.4329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4392,
"delta": 0.1892,
"percent_delta": 0.7567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4392,
"delta": 0.1892,
"percent_delta": 0.7567,
"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.263,
"after": 1.0,
"delta": 0.737,
"percent_delta": 2.8023,
"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.66,
"after": 4.0,
"delta": 0.34,
"percent_delta": 0.0929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.303,
"after": 0.3179,
"delta": 0.0149,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.175,
"after": 0.0,
"delta": -0.175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0,
"delta": -0.11,
"percent_delta": -0.0991,
"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.368,
"after": 0.3582,
"delta": -0.0098,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.462,
"after": 1.0,
"delta": 0.538,
"percent_delta": 1.1645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.4392,
"delta": 0.0202,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.263,
"after": 1.0,
"delta": 0.737,
"percent_delta": 2.8023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"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.263 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.660 | - |
| predicted_AVG | 0.303 | - |
| predicted_BB | 0.175 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.368 | - |
| predicted_R | 0.462 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.419 | - |
| 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.228 | -0.036 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.539 | -0.121 |
| predicted_AVG | 0.313 | 0.010 |
| predicted_BB | 0.221 | 0.046 |
| predicted_H | 1.106 | -0.004 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.066 | -0.004 |
| predicted_OBP | 0.372 | 0.004 |
| predicted_R | 0.439 | -0.023 |
| predicted_RBI | 0.605 | -0.015 |
| predicted_SLG | 0.425 | 0.006 |
| predicted_SO | 0.426 | 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.228 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.539 | 0.000 |
| predicted_AVG | 0.318 | 0.005 |
| predicted_BB | 0.222 | 0.002 |
| predicted_H | 1.125 | 0.019 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.067 | 0.001 |
| predicted_OBP | 0.358 | -0.014 |
| predicted_R | 0.452 | 0.013 |
| predicted_RBI | 0.623 | 0.017 |
| predicted_SLG | 0.439 | 0.014 |
| predicted_SO | 0.423 | -0.003 |
AB rounded to 4 (raw=3.66), rates preserved: AVG=0.307 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.228 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.461 |
| predicted_AVG | 0.250 | -0.068 |
| predicted_BB | 0.000 | -0.222 |
| predicted_H | 1.000 | -0.125 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.250 | -0.108 |
| predicted_R | 0.000 | -0.452 |
| predicted_RBI | 1.000 | 0.377 |
| predicted_SLG | 0.250 | -0.189 |
| predicted_SO | 0.000 | -0.423 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 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 | - | 17.000 | 7.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 2.000 | 2.000 | 0.4118 | 0.4737 | 0.4118 | 0.4118 | 0.0000 | 0.2353 | 0.1177 | 0.1177 |
| last_10 | 0.20 | 10 | - | 33.000 | 14.000 | 1.000 | 0.000 | 0.000 | 6.000 | 4.000 | 5.000 | 4.000 | 0.4242 | 0.5000 | 0.4545 | 0.4242 | 0.0000 | 0.1818 | 0.1515 | 0.1212 |
| season | 0.60 | 80 | - | 265.000 | 74.000 | 21.000 | 0.000 | 7.000 | 42.000 | 37.000 | 14.000 | 33.000 | 0.2792 | 0.3169 | 0.4377 | 0.2792 | 0.0264 | 0.1585 | 0.0528 | 0.1245 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1790 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3730 |
| predicted_AVG | 0.3264 |
| predicted_BB | 0.2830 |
| predicted_H | 1.1010 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.3773 |
| predicted_R | 0.4080 |
| predicted_RBI | 0.5850 |
| predicted_SLG | 0.4332 |
| predicted_SO | 0.4460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2630 | 0.1790 | 0.2275 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6600 | 3.3730 | 3.5389 | model_form_blend |
| predicted_AVG | 0.3030 | 0.3264 | 0.3129 | model_form_blend |
| predicted_BB | 0.1750 | 0.2830 | 0.2206 | model_form_blend |
| predicted_H | 1.1100 | 1.1010 | 1.1062 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0700 | 0.0600 | 0.0658 | model_form_blend |
| predicted_OBP | 0.3680 | 0.3773 | 0.3719 | model_form_blend |
| predicted_R | 0.4620 | 0.4080 | 0.4392 | model_form_blend |
| predicted_RBI | 0.6200 | 0.5850 | 0.6052 | model_form_blend |
| predicted_SLG | 0.4190 | 0.4332 | 0.4250 | model_form_blend |
| predicted_SO | 0.4120 | 0.4460 | 0.4264 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 285 |
| Season rows before report date | 285 |
| 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| 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.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 660688 |
| playerID | 660688 |
| playerName | Keibert Ruiz |
| pos | C |
| started | True |
| startingPosition | C |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 11.6 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.326 |
| sl_xwoba | 0.283 |
| sl_xba | 0.244 |
| sl_xslg | 0.362 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 37.4 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 13.5 |
| sl_swing_percent | 52.0 |
| at_bat_number | 55.0 |
| ab_pitcher | 682608.0 |
| ab_pitcher_name | Gray, Peyton |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Keibert Ruiz flies out to left fielder Jarred Kelenic. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 83.4 |
| ab_launch_angle_last | 49.0 |
| ab_hit_distance_last | 247.0 |
| ab_estimated_ba_last | 0.014 |
| ab_estimated_woba_last | 0.015 |
| ab_estimated_slg_last | 0.022 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 94.46666666666664 |
| ab_release_spin_rate_avg | 2284.6666666666665 |
| ab_effective_speed_avg | 95.13333333333333 |
| ab_launch_speed_avg | 78.1 |
| ab_launch_angle_avg | 43.0 |
| ab_delta_run_exp_avg | -0.0863333333333333 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.0863333333333333 |
| ab_bat_speed_avg | 62.85 |
| ab_swing_length_avg | 5.8 |
| ab_launch_speed_max | 83.4 |
| ab_hit_distance_sc_max | 247.0 |
| ab_release_speed_max | 95.1 |
| ab_release_spin_rate_max | 2354.0 |
| ab_release_speed_min | 94.1 |
| ab_release_spin_rate_min | 2233.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.156 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.594 | 4.000 | 4.000 | Hitting_AB | 3.896 | 1.000 | 0.104 | 3.000 |
| predicted_AVG | 0.189 | 0.250 | 0.250 | Hitting_AVG | 0.241 | 0.000 | 0.009 | 0.250 |
| predicted_BB | 0.234 | 0.000 | 0.000 | Hitting_BB | 0.268 | 0.000 | -0.268 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.350 | 1.000 | 1.000 | Hitting_H | 0.940 | 0.000 | 0.060 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_OBP | 0.261 | 0.250 | 0.250 | Hitting_OBP | 0.296 | 0.000 | -0.046 | 0.250 |
| predicted_R | 0.484 | 0.000 | 0.000 | Hitting_R | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.544 | 0.000 | -0.544 | 0.000 |
| predicted_SLG | 0.430 | 0.250 | 0.250 | Hitting_SLG | 0.410 | 0.000 | -0.160 | 0.250 |
| predicted_SO | 1.125 | 2.000 | 1.000 | Hitting_SO | 1.208 | 0.000 | 0.792 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.1250 -> 2.0000 (boost 0.8750, worse) |
| Biggest Deboost | predicted_R: 0.4840 -> 0.0000 (deboost -0.4840, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3500 -> 0.5463 (boost 0.1963, better) | predicted_AB: 3.5940 -> 3.5220 (deboost -0.0720, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4163 -> 0.3090 (deboost -0.1073, 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.5220 -> 4.0000 (boost 0.4780, better) | predicted_RBI: 0.4128 -> 0.0000 (deboost -0.4128, worse) | AB rounded to 4 (raw=3.59), rates preserved: AVG=0.155 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4750 -> 0.0000 (deboost -0.4750, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1578 -> 0.2500 (boost 0.0922, better) | predicted_SLG: 0.3090 -> 0.2500 (deboost -0.0590, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3090 (boost 0.0590, better) | predicted_AVG: 0.2500 -> 0.1578 (deboost -0.0922, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691781",
"player_name": "Brady House",
"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.156,
"predicted_3B": 0.0,
"predicted_AB": 3.594,
"predicted_AVG": 0.189,
"predicted_BB": 0.234,
"predicted_H": 0.35,
"predicted_HR": 0.12,
"predicted_OBP": 0.261,
"predicted_R": 0.484,
"predicted_RBI": 0.3,
"predicted_SLG": 0.43,
"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.1313,
"predicted_3B": 0.0004,
"predicted_AB": 3.522,
"predicted_AVG": 0.2101,
"predicted_BB": 0.2047,
"predicted_H": 0.5463,
"predicted_HBP": 0.151,
"predicted_HR": 0.1313,
"predicted_OBP": 0.2786,
"predicted_R": 0.4618,
"predicted_RBI": 0.4013,
"predicted_SLG": 0.4163,
"predicted_SO": 1.0974
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.1313,
"delta": -0.0247,
"percent_delta": -0.1583,
"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.594,
"after": 3.522,
"delta": -0.072,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.189,
"after": 0.2101,
"delta": 0.0211,
"percent_delta": 0.1116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 0.2047,
"delta": -0.0293,
"percent_delta": -0.1252,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.5463,
"delta": 0.1963,
"percent_delta": 0.5609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1313,
"delta": 0.0113,
"percent_delta": 0.0942,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2786,
"delta": 0.0176,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.4618,
"delta": -0.0222,
"percent_delta": -0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.4013,
"delta": 0.1013,
"percent_delta": 0.3377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4163,
"delta": -0.0137,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.125,
"after": 1.0974,
"delta": -0.0276,
"percent_delta": -0.0245,
"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.35,
"after": 0.5463,
"delta": 0.1963,
"percent_delta": 0.5609,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.594,
"after": 3.522,
"delta": -0.072,
"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": 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.1313,
"predicted_3B": 0.0004,
"predicted_AB": 3.522,
"predicted_AVG": 0.1578,
"predicted_BB": 0.2061,
"predicted_H": 0.5556,
"predicted_HBP": 0.151,
"predicted_HR": 0.1335,
"predicted_OBP": 0.2043,
"predicted_R": 0.475,
"predicted_RBI": 0.4128,
"predicted_SLG": 0.309,
"predicted_SO": 1.0897
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1313,
"after": 0.1313,
"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.522,
"after": 3.522,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2101,
"after": 0.1578,
"delta": -0.0523,
"percent_delta": -0.2489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2047,
"after": 0.2061,
"delta": 0.0014,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5463,
"after": 0.5556,
"delta": 0.0093,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.151,
"after": 0.151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1313,
"after": 0.1335,
"delta": 0.0022,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2786,
"after": 0.2043,
"delta": -0.0743,
"percent_delta": -0.2667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4618,
"after": 0.475,
"delta": 0.0132,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4013,
"after": 0.4128,
"delta": 0.0115,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4163,
"after": 0.309,
"delta": -0.1073,
"percent_delta": -0.2577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0974,
"after": 1.0897,
"delta": -0.0077,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4163,
"after": 0.309,
"delta": -0.1073,
"percent_delta": -0.2577,
"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.155 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.1313,
"after": 0.0,
"delta": -0.1313,
"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.522,
"after": 4.0,
"delta": 0.478,
"percent_delta": 0.1357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2061,
"after": 0.0,
"delta": -0.2061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5556,
"after": 1.0,
"delta": 0.4444,
"percent_delta": 0.7999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1335,
"after": 0.0,
"delta": -0.1335,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4128,
"after": 0.0,
"delta": -0.4128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0897,
"after": 1.0,
"delta": -0.0897,
"percent_delta": -0.0823,
"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.522,
"after": 4.0,
"delta": 0.478,
"percent_delta": 0.1357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4128,
"after": 0.0,
"delta": -0.4128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.475,
"after": 0.0,
"delta": -0.475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.475,
"after": 0.0,
"delta": -0.475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment 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.1578,
"after": 0.25,
"delta": 0.0922,
"percent_delta": 0.5843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2043,
"after": 0.25,
"delta": 0.0457,
"percent_delta": 0.2237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.25,
"delta": -0.059,
"percent_delta": -0.1909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1578,
"after": 0.25,
"delta": 0.0922,
"percent_delta": 0.5843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.309,
"after": 0.25,
"delta": -0.059,
"percent_delta": -0.1909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1578,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2043,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.309,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1578,
"delta": -0.0922,
"percent_delta": -0.3689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2043,
"delta": -0.0457,
"percent_delta": -0.1827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.309,
"delta": 0.059,
"percent_delta": 0.236,
"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.309,
"delta": 0.059,
"percent_delta": 0.236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1578,
"delta": -0.0922,
"percent_delta": -0.3689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.594,
"after": 4.0,
"delta": 0.406,
"percent_delta": 0.113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.189,
"after": 0.1578,
"delta": -0.0312,
"percent_delta": -0.1651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 0.0,
"delta": -0.234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"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.261,
"after": 0.2043,
"delta": -0.0567,
"percent_delta": -0.2172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.0,
"delta": -0.484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.309,
"delta": -0.121,
"percent_delta": -0.2814,
"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": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.125,
"after": 2.0,
"delta": 0.875,
"percent_delta": 0.7778,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.484,
"after": 0.0,
"delta": -0.484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.594 | - |
| predicted_AVG | 0.189 | - |
| predicted_BB | 0.234 | - |
| predicted_H | 0.350 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.484 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.430 | - |
| 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.131 | -0.025 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.522 | -0.072 |
| predicted_AVG | 0.210 | 0.021 |
| predicted_BB | 0.205 | -0.029 |
| predicted_H | 0.546 | 0.196 |
| predicted_HBP | 0.151 | - |
| predicted_HR | 0.131 | 0.011 |
| predicted_OBP | 0.279 | 0.018 |
| predicted_R | 0.462 | -0.022 |
| predicted_RBI | 0.401 | 0.101 |
| predicted_SLG | 0.416 | -0.014 |
| predicted_SO | 1.097 | -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.131 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.522 | 0.000 |
| predicted_AVG | 0.158 | -0.052 |
| predicted_BB | 0.206 | 0.001 |
| predicted_H | 0.556 | 0.009 |
| predicted_HBP | 0.151 | 0.000 |
| predicted_HR | 0.134 | 0.002 |
| predicted_OBP | 0.204 | -0.074 |
| predicted_R | 0.475 | 0.013 |
| predicted_RBI | 0.413 | 0.012 |
| predicted_SLG | 0.309 | -0.107 |
| predicted_SO | 1.090 | -0.008 |
AB rounded to 4 (raw=3.59), rates preserved: AVG=0.155 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.131 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.478 |
| predicted_AVG | 0.250 | 0.092 |
| predicted_BB | 0.000 | -0.206 |
| predicted_H | 1.000 | 0.444 |
| predicted_HR | 0.000 | -0.134 |
| predicted_OBP | 0.250 | 0.046 |
| predicted_R | 0.000 | -0.475 |
| predicted_RBI | 0.000 | -0.413 |
| predicted_SLG | 0.250 | -0.059 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 5.000 | 0.2143 | 0.3125 | 0.4286 | 0.2143 | 0.0714 | 0.2857 | 0.0000 | 0.3571 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 1.000 | 10.000 | 0.2727 | 0.3333 | 0.3636 | 0.2727 | 0.0303 | 0.1212 | 0.0303 | 0.3030 |
| season | 0.60 | 64 | - | 230.000 | 54.000 | 10.000 | 0.000 | 9.000 | 31.000 | 31.000 | 15.000 | 72.000 | 0.2348 | 0.2892 | 0.3957 | 0.2348 | 0.0391 | 0.1348 | 0.0652 | 0.3130 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0970 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4220 |
| predicted_AVG | 0.2393 |
| predicted_BB | 0.1640 |
| predicted_H | 0.8190 |
| predicted_HBP | 0.1510 |
| predicted_HR | 0.1470 |
| predicted_OBP | 0.3030 |
| predicted_R | 0.4310 |
| predicted_RBI | 0.5420 |
| predicted_SLG | 0.3972 |
| predicted_SO | 1.0590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.0970 | 0.1313 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5940 | 3.4220 | 3.5220 | model_form_blend |
| predicted_AVG | 0.1890 | 0.2393 | 0.2101 | model_form_blend |
| predicted_BB | 0.2340 | 0.1640 | 0.2047 | model_form_blend |
| predicted_H | 0.3500 | 0.8190 | 0.5463 | model_form_blend |
| predicted_HBP | - | 0.1510 | 0.1510 | form_only |
| predicted_HR | 0.1200 | 0.1470 | 0.1313 | model_form_blend |
| predicted_OBP | 0.2610 | 0.3030 | 0.2786 | model_form_blend |
| predicted_R | 0.4840 | 0.4310 | 0.4618 | model_form_blend |
| predicted_RBI | 0.3000 | 0.5420 | 0.4013 | model_form_blend |
| predicted_SLG | 0.4300 | 0.3972 | 0.4163 | model_form_blend |
| predicted_SO | 1.1250 | 1.0590 | 1.0974 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 64 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-3B |
| gameID | 20260819_WAS@TEX |
| game_type | ph |
| mlbID | 691781 |
| note | Lined out for Vivas in the 8th. |
| playerID | 691781 |
| playerName | Brady House |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 28.9 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.3 |
| sl_xwoba | 0.331 |
| sl_xba | 0.262 |
| sl_xslg | 0.445 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 46.5 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 33.0 |
| sl_swing_percent | 51.6 |
| at_bat_number | 60.0 |
| ab_pitcher | 656756.0 |
| ab_pitcher_name | Montgomery, Jordan |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Brady House lines out to shortstop Corey Seager. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 69.9 |
| ab_launch_angle_last | 14.0 |
| ab_hit_distance_last | 143.0 |
| ab_estimated_ba_last | 0.34 |
| ab_estimated_woba_last | 0.306 |
| ab_estimated_slg_last | 0.34 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 85.47999999999999 |
| ab_release_spin_rate_avg | 1835.8 |
| ab_effective_speed_avg | 86.36 |
| ab_launch_speed_avg | 67.93333333333334 |
| ab_launch_angle_avg | 14.333333333333334 |
| ab_delta_run_exp_avg | -0.0524 |
| ab_delta_home_win_exp_avg | 0.0002 |
| ab_delta_pitcher_run_exp_avg | 0.0524 |
| ab_bat_speed_avg | 70.0 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 69.9 |
| ab_hit_distance_sc_max | 173.0 |
| ab_release_speed_max | 91.4 |
| ab_release_spin_rate_max | 2415.0 |
| ab_release_speed_min | 81.2 |
| ab_release_spin_rate_min | 1426.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | 0.001 |
| ab_delta_pitcher_run_exp_sum | 0.262 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.833 | 1.000 | 1.167 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.722 | 2.000 | -1.722 | -2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.722 | 2.000 | -0.722 | 1.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 3.972 | 5.200 | 1.128 | -0.100 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 3.833 | 4.000 | 0.167 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.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": "674841",
"player_name": "Andrew Alvarez",
"position": "Starter",
"team": "WAS",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 0.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.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": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.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 | 0.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 26.000 | 9.000 | 18.000 | 11.000 | 16.000 | 1.000 | 3.1154 | 1.1154 | 0.3462 | 0.6923 | 0.4231 | 0.6154 | 0.0385 |
| last_10 | 0.35 | 10 | 46.200 | 20.000 | 38.000 | 21.000 | 38.000 | 1.000 | 3.8571 | 1.2643 | 0.4286 | 0.8143 | 0.4500 | 0.8143 | 0.0214 |
| season | 0.20 | 18 | 75.000 | 31.000 | 67.000 | 33.000 | 69.000 | 3.000 | 3.7200 | 1.3333 | 0.4133 | 0.8933 | 0.4400 | 0.9200 | 0.0400 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0790 |
| predicted_ER | 2.0400 |
| predicted_ERA | 3.7146 |
| predicted_H | 4.0430 |
| predicted_HR | 0.2850 |
| predicted_IP | 5.0000 |
| predicted_SO | 3.9100 |
| predicted_WHIP | 1.2387 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.0790 | 2.4859 | model_form_blend |
| predicted_ER | 0.0000 | 2.0400 | 1.1386 | model_form_blend |
| predicted_ERA | - | 3.7146 | 3.7146 | form_only |
| predicted_H | 3.0000 | 4.0430 | 3.5821 | model_form_blend |
| predicted_HR | 0.0000 | 0.2850 | 0.1591 | model_form_blend |
| predicted_IP | 5.1000 | 5.0000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 3.9100 | 3.9498 | model_form_blend |
| predicted_WHIP | - | 1.2387 | 1.2387 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| ER | 0 |
| BB | 3 |
| SO | 4 |
| HR | 0 |
| BF | 22 |
| Pitches | 100 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 3.72 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 5 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 73 |
| Pitching_R | 2 |
| Pitching_SO | 4 |
| Pitching_Strikes | 47 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260814_WAS@NYM |
| game_type | full |
| mlbID | 674841 |
| playerID | 674841 |
| playerName | Andrew Alvarez |
| pos | P |
| started | True |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-14 |
| game_pk | 823591.0 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.3 |
| sl_xwoba | 0.326 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 42.5 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 44.8 |
| sv_pitch_count | 73.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 87.3890410958904 |
| sv_release_spin_rate | 2490.164383561644 |
| sv_effective_speed | 87.13150684931507 |
| sv_launch_speed | 84.87826086956522 |
| sv_launch_angle | 17.0 |
| sv_woba_value | 4.3 |
| sv_woba_denom | 21.0 |
| sv_delta_run_exp | -0.7320000000000004 |
| sv_delta_home_win_exp | -0.1609999999999999 |
| sl_avg_best_speed | 78.476306286 |
| sl_avg_hyper_speed | 94.823149429 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.600 | 1.000 | 0.400 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.600 | 2.000 | -0.600 | -2.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.863 | 1.000 | 0.337 | 0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.975 | 1.000 | 0.025 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 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.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 3.000 | 5.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.4000 | 0.6000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 3.000 | 5.000 | 5.000 | 6.000 | 2.000 | 2.8929 | 1.0714 | 0.3214 | 0.5357 | 0.5357 | 0.6429 | 0.2143 |
| season | 0.20 | 39 | 38.000 | 13.000 | 21.000 | 24.000 | 39.000 | 4.000 | 3.0789 | 1.1842 | 0.3421 | 0.5526 | 0.6316 | 1.0263 | 0.1053 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4970 |
| predicted_ER | 0.3070 |
| predicted_ERA | 2.7667 |
| predicted_H | 0.6740 |
| predicted_HR | 0.1160 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9090 |
| predicted_WHIP | 1.1712 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4970 | 0.7572 | model_form_blend |
| predicted_ER | 0.0000 | 0.3070 | 0.1482 | model_form_blend |
| predicted_ERA | - | 2.7667 | 2.7667 | form_only |
| predicted_H | 0.0000 | 0.6740 | 0.3253 | model_form_blend |
| predicted_HR | 0.0000 | 0.1160 | 0.0560 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9090 | 0.9561 | model_form_blend |
| predicted_WHIP | - | 1.1712 | 1.1712 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 39 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.55 |
| 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 | 19 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260815_WAS@NYM |
| game_type | full |
| mlbID | 690925 |
| playerID | 690925 |
| playerName | Clayton Beeter |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-15 |
| game_pk | 823588.0 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 15.0 |
| sl_woba | 0.294 |
| sl_xwoba | 0.323 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 43.2 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 44.8 |
| sv_pitch_count | 19.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 90.69473684210529 |
| sv_release_spin_rate | 2657.4736842105262 |
| sv_effective_speed | 90.43684210526315 |
| sv_launch_speed | 84.56666666666666 |
| sv_launch_angle | 21.5 |
| sv_woba_value | 2.5 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.48 |
| sv_delta_home_win_exp | -0.1429999999999999 |
| sl_avg_best_speed | 79.806864783 |
| sl_avg_hyper_speed | 94.182071304 |
| 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.359 | 0.000 | -0.359 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.744 | 0.000 | -0.744 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.859 | 1.000 | 0.141 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.846 | 1.000 | 0.154 | 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": "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": 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 | 1.000 | 2.000 | 2.000 | 2.000 | 1.000 | 1.6875 | 0.7500 | 0.1875 | 0.3750 | 0.3750 | 0.3750 | 0.1875 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 7.000 | 4.000 | 10.000 | 2.000 | 3.7241 | 1.1379 | 0.4138 | 0.7241 | 0.4138 | 1.0345 | 0.2069 |
| season | 0.20 | 39 | 37.000 | 14.000 | 29.000 | 14.000 | 33.000 | 4.000 | 3.4054 | 1.1622 | 0.3784 | 0.7838 | 0.3784 | 0.8919 | 0.1081 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3800 |
| predicted_ER | 0.3840 |
| predicted_ERA | 3.4516 |
| predicted_H | 0.7370 |
| predicted_HR | 0.1660 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8080 |
| predicted_WHIP | 1.1171 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3800 | 0.1824 | model_form_blend |
| predicted_ER | 0.0000 | 0.3840 | 0.1843 | model_form_blend |
| predicted_ERA | - | 3.4516 | 3.4516 | form_only |
| predicted_H | 0.0000 | 0.7370 | 0.3537 | model_form_blend |
| predicted_HR | 0.0000 | 0.1660 | 0.0797 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8080 | 0.9079 | model_form_blend |
| predicted_WHIP | - | 1.1171 | 1.1171 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 39 |
| Season rows before report date | 39 |
| Report year | 2026 |
| Profile rows used | 39 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.41 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260815_WAS@NYM |
| game_type | full |
| mlbID | 687377 |
| playerID | 687377 |
| playerName | Orlando Ribalta |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-15 |
| game_pk | 823588.0 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.28 |
| sl_xwoba | 0.298 |
| sl_sweet_spot_percent | 26.9 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 34.6 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 50.5 |
| sv_pitch_count | 17.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.25882352941176 |
| sv_release_spin_rate | 2386.235294117647 |
| sv_effective_speed | 92.2470588235294 |
| sv_launch_speed | 86.9 |
| sv_launch_angle | 46.2 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.781 |
| sv_delta_home_win_exp | -0.109 |
| sl_avg_best_speed | 72.092582115 |
| sl_avg_hyper_speed | 92.77818233 |
| 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.231 | 0.000 | -0.231 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.385 | 1.000 | 0.615 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.923 | 2.000 | 0.077 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.708 | 1.000 | 0.292 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.769 | 1.000 | 0.231 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "676680",
"player_name": "Tom Cosgrove",
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 5.000 | 0.000 | 5.000 | 1.000 | 4.1538 | 1.1538 | 0.4615 | 1.1539 | 0.0000 | 1.1539 | 0.2308 |
| last_10 | 0.35 | 10 | 9.100 | 5.000 | 9.000 | 2.000 | 6.000 | 2.000 | 4.8214 | 1.1786 | 0.5357 | 0.9643 | 0.2143 | 0.6429 | 0.2143 |
| season | 0.20 | 13 | 12.000 | 5.000 | 12.000 | 3.000 | 10.000 | 2.000 | 3.7500 | 1.2500 | 0.4167 | 1.0000 | 0.2500 | 0.8333 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2870 |
| predicted_ER | 0.4930 |
| predicted_ERA | 4.4383 |
| predicted_H | 1.0000 |
| predicted_HR | 0.1680 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9400 |
| predicted_WHIP | 1.2872 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2870 | 0.1047 | model_form_blend |
| predicted_ER | 1.0000 | 0.4930 | 0.8151 | model_form_blend |
| predicted_ERA | - | 4.4383 | 4.4383 | form_only |
| predicted_H | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_HR | 1.0000 | 0.1680 | 0.6965 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9400 | 0.9781 | model_form_blend |
| predicted_WHIP | - | 1.2872 | 1.2872 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260815_WAS@NYM |
| game_type | full |
| mlbID | 676680 |
| playerID | 676680 |
| playerName | Tom Cosgrove |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-08-15 |
| game_pk | 823588.0 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.332 |
| sl_xwoba | 0.27 |
| sl_sweet_spot_percent | 27.0 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 35.1 |
| sl_whiff_percent | 13.2 |
| sl_swing_percent | 50.6 |
| sv_pitch_count | 9.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 77.07777777777778 |
| sv_release_spin_rate | 2815.333333333333 |
| sv_effective_speed | 76.16666666666667 |
| sv_launch_speed | 67.075 |
| sv_launch_angle | -4.75 |
| sv_woba_value | 2.9 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.677 |
| sv_delta_home_win_exp | 0.048 |
| sl_avg_best_speed | 72.052236667 |
| sl_avg_hyper_speed | 93.258508056 |
| Field | Value |
|---|---|
| Pitcher | Jacob deGrom |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2476 |
| ESPN Rank | 76 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1735 |
| Avg Velo | 93.0114 |
| Avg Spin | 2443.0270 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 4 |
| Season ERA | 3.9530 |
| Season WHIP | 1.1685 |
| Role Avg IP | 5.2460 |
| Recent Avg IP | 4 |
| Last Start IP | 2 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"opponent": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"edges": {
"quality_edge": -0.0534,
"offense_edge": -0.0914,
"opponent_offense_edge": 0.1344,
"defense_strength": 0.0181,
"opponent_defense_weakness": 0.1093,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0224,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "594798",
"profile": {
"available": true,
"pitcher_id": "594798",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 482.0,
"k_percent": 29.5,
"bb_percent": 6.2,
"woba": 0.293,
"xwoba": 0.297,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 45.6,
"avg_best_speed": 80.5919,
"avg_hyper_speed": 94.8051,
"whiff_percent": 33.4,
"swing_percent": 51.7
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.0362,
"command_and_miss": 1.0207,
"regression_edge": -0.1143,
"xwoba_edge": 0.4286,
"barrel_edge": -0.3778,
"hard_hit_edge": -1.1429,
"whiff_edge": 1.1571,
"bb_edge": 0.7,
"pitch_design_score": 0.1735
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "594798",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 93.01139384257452,
"release_spin_rate": 2443.0269746624076,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 93.01139384257452,
"release_spin_rate": 2443.0269746624076,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.0114,
"release_spin_rate": 2443.027,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1735,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2393,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2476,
"sample_weight": 1.0,
"run_prevention_factor": 0.979,
"strikeout_factor": 1.0886,
"walk_factor": 0.944,
"homer_factor": 1.0631,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594798",
"espn_id": 32796,
"player_name": "Jacob deGrom",
"team": "TEX",
"role": "pitcher",
"espn_rank": 76,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 76,
"gp_value": 23.0,
"gp_rank": 303,
"gs_value": 23.0,
"gs_rank": 49,
"qs_value": 8.0,
"qs_rank": 65,
"era_value": 3.953,
"era_rank": null,
"w_value": 8.0,
"w_rank": 43,
"l_value": 8.0,
"l_rank": 33,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 120.2,
"ip_rank": 70,
"h_value": 110.0,
"h_rank": 73,
"er_value": 53.0,
"er_rank": 65,
"hr_value": 17.0,
"hr_rank": 45,
"bb_value": 31.0,
"bb_rank": 123,
"k_value": 147.0,
"k_rank": 19,
"k_per_9_value": 10.964088,
"k_per_9_rank": 7.0,
"whip_value": 1.1685,
"whip_rank": null,
"war_value": 1.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.979,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.979,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.944,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0631,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0886,
"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": 50.0,
"ER": 28,
"H": 55,
"BB": 16,
"SO": 63,
"HR": 4,
"ERA": 5.04,
"WHIP": 1.42,
"K9": 11.34,
"HR9": 0.72,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-13T00:00:00"
}{
"available": true,
"pitcher_id": "594798",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 93.01139384257452,
"release_spin_rate": 2443.0269746624076,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 93.01139384257452,
"release_spin_rate": 2443.0269746624076,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 93.0114,
"release_spin_rate": 2443.027,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1735,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2393,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
},
"role": "pitcher",
"player_id": "594798",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 20.0,
"ER": 14.0,
"R": 14.0,
"H": 30.0,
"BB": 9.0,
"SO": 25.0,
"HR": 1.0,
"BF": 97.0,
"Pitches": 419.0
},
"per_game": {
"IP": 4.0,
"ER": 2.8,
"R": 2.8,
"H": 6.0,
"BB": 1.8,
"SO": 5.0,
"HR": 0.2,
"BF": 19.4,
"Pitches": 83.8
},
"rates": {
"ERA": 6.3,
"WHIP": 1.95,
"ER_per_IP": 0.7,
"H_per_IP": 1.5,
"BB_per_IP": 0.45,
"SO_per_IP": 1.25,
"HR_per_IP": 0.05
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.0,
"ER": 28.0,
"R": 28.0,
"H": 55.0,
"BB": 16.0,
"SO": 63.0,
"HR": 4.0,
"BF": 216.0,
"Pitches": 882.0
},
"per_game": {
"IP": 5.0,
"ER": 2.8,
"R": 2.8,
"H": 5.5,
"BB": 1.6,
"SO": 6.3,
"HR": 0.4,
"BF": 21.6,
"Pitches": 88.2
},
"rates": {
"ERA": 5.04,
"WHIP": 1.42,
"ER_per_IP": 0.56,
"H_per_IP": 1.1,
"BB_per_IP": 0.32,
"SO_per_IP": 1.26,
"HR_per_IP": 0.08
}
},
"season": {
"games": 23,
"totals": {
"IP": 120.2,
"ER": 53.0,
"R": 53.0,
"H": 110.0,
"BB": 31.0,
"SO": 147.0,
"HR": 17.0,
"BF": 498.0,
"Pitches": 2024.0
},
"per_game": {
"IP": 5.1,
"ER": 2.3043,
"R": 2.3043,
"H": 4.7826,
"BB": 1.3478,
"SO": 6.3913,
"HR": 0.7391,
"BF": 21.6522,
"Pitches": 88.0
},
"rates": {
"ERA": 3.953,
"WHIP": 1.1685,
"ER_per_IP": 0.43923,
"H_per_IP": 0.9116,
"BB_per_IP": 0.25691,
"SO_per_IP": 1.21823,
"HR_per_IP": 0.14088
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.723,
"predicted_H": 5.595,
"predicted_BB": 1.714,
"predicted_SO": 5.598,
"predicted_HR": 0.426,
"predicted_ERA": 5.231,
"predicted_WHIP": 1.5599
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4255,
"form_weight": 0.5745,
"form_reliability": 0.8214,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.723,
"final": 2.4154,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.595,
"final": 4.4909,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.714,
"final": 0.9848,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.598,
"final": 4.9181,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.426,
"final": 0.6702,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.231,
"final": 5.231,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5599,
"final": 1.5599,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jacob Latz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.6137 |
| ESPN Rank | 40 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0136 |
| Avg Velo | 90.1566 |
| Avg Spin | 2349.9084 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.2857 |
| Season WHIP | 0.6607 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"opponent": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"edges": {
"quality_edge": -0.0534,
"offense_edge": -0.0914,
"opponent_offense_edge": 0.1344,
"defense_strength": 0.0181,
"opponent_defense_weakness": 0.1093,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0224,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656641",
"profile": {
"available": true,
"pitcher_id": "656641",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 190.0,
"k_percent": 28.2,
"bb_percent": 7.3,
"woba": 0.193,
"xwoba": 0.242,
"sweet_spot_percent": 24.8,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 37.6,
"avg_best_speed": 78.4113,
"avg_hyper_speed": 93.5349,
"whiff_percent": 28.9,
"swing_percent": 53.0
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.385,
"command_and_miss": 0.6571,
"regression_edge": -1.4,
"xwoba_edge": 2.0,
"barrel_edge": 0.4,
"hard_hit_edge": 0.0,
"whiff_edge": 0.5143,
"bb_edge": 0.425,
"pitch_design_score": 0.0136
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656641",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 90.15663588095128,
"release_spin_rate": 2349.908372972056,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 90.15663588095128,
"release_spin_rate": 2349.908372972056,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.1566,
"release_spin_rate": 2349.9084,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0136,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0974,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6137,
"sample_weight": 0.76,
"run_prevention_factor": 0.9478,
"strikeout_factor": 1.0421,
"walk_factor": 0.9742,
"homer_factor": 0.9301,
"woba_minus_xwoba": -0.049,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656641",
"espn_id": 3210625,
"player_name": "Jacob Latz",
"team": "TEX",
"role": "pitcher",
"espn_rank": 40,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 40,
"gp_value": 44.0,
"gp_rank": 107,
"gs_value": 1.0,
"gs_rank": 288,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 1.7678,
"era_rank": null,
"w_value": 3.0,
"w_rank": 220,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 24.0,
"sv_rank": 10,
"hld_value": 2.0,
"hld_rank": 216,
"ip_value": 56.0,
"ip_rank": 213,
"h_value": 26.0,
"h_rank": 417,
"er_value": 11.0,
"er_rank": 459,
"hr_value": 3.0,
"hr_rank": 403,
"bb_value": 15.0,
"bb_rank": 347,
"k_value": 58.0,
"k_rank": 197,
"k_per_9_value": 9.321428,
"k_per_9_rank": 24.0,
"whip_value": 0.7321,
"whip_rank": null,
"war_value": 2.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9603,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9603,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9804,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9469,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.032,
"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": 8,
"BB": 5,
"SO": 12,
"HR": 0,
"ERA": 2.189189189189189,
"WHIP": 1.054054054054054,
"K9": 8.756756756756756,
"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-08-15T00:00:00"
}{
"available": true,
"pitcher_id": "656641",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 22,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 90.15663588095128,
"release_spin_rate": 2349.908372972056,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 90.15663588095128,
"release_spin_rate": 2349.908372972056,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.1566,
"release_spin_rate": 2349.9084,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0136,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0974,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.228,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6919,
"prior_weight": 0.3081
},
"role": "pitcher",
"player_id": "656641",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 1.0,
"R": 2.0,
"H": 4.0,
"BB": 4.0,
"SO": 7.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 126.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.4,
"H": 0.8,
"BB": 0.8,
"SO": 1.4,
"HR": 0.0,
"BF": 5.4,
"Pitches": 25.2
},
"rates": {
"ERA": 1.2857,
"WHIP": 1.1429,
"ER_per_IP": 0.14286,
"H_per_IP": 0.57143,
"BB_per_IP": 0.57143,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 5.0,
"SO": 12.0,
"HR": 0.0,
"BF": 47.0,
"Pitches": 207.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.4,
"H": 0.8,
"BB": 0.5,
"SO": 1.2,
"HR": 0.0,
"BF": 4.7,
"Pitches": 20.7
},
"rates": {
"ERA": 2.1892,
"WHIP": 1.0541,
"ER_per_IP": 0.24324,
"H_per_IP": 0.64865,
"BB_per_IP": 0.40541,
"SO_per_IP": 0.97297,
"HR_per_IP": 0.0
}
},
"season": {
"games": 43,
"totals": {
"IP": 56.0,
"ER": 8.0,
"R": 9.0,
"H": 23.0,
"BB": 14.0,
"SO": 58.0,
"HR": 3.0,
"BF": 202.0,
"Pitches": 859.0
},
"per_game": {
"IP": 1.1,
"ER": 0.186,
"R": 0.2093,
"H": 0.5349,
"BB": 0.3256,
"SO": 1.3488,
"HR": 0.0698,
"BF": 4.6977,
"Pitches": 19.9767
},
"rates": {
"ERA": 1.2857,
"WHIP": 0.6607,
"ER_per_IP": 0.14286,
"H_per_IP": 0.41071,
"BB_per_IP": 0.25,
"SO_per_IP": 1.03571,
"HR_per_IP": 0.05357
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.37,
"predicted_H": 0.922,
"predicted_BB": 0.564,
"predicted_SO": 1.312,
"predicted_HR": 0.07,
"predicted_ERA": 2.4953,
"predicted_WHIP": 1.1148
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4802,
"form_weight": 0.5198,
"form_reliability": 0.6919,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.228,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6919,
"prior_weight": 0.3081
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.37,
"final": 0.1923,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.922,
"final": 0.4793,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.564,
"final": 0.2932,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.312,
"final": 1.6424,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0364,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4953,
"final": 2.4953,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1148,
"final": 1.1148,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Peyton Gray |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2936 |
| ESPN Rank | 500 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1105 |
| Avg Velo | 87.9405 |
| Avg Spin | 2170.5306 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.8311 |
| Season WHIP | 1.2770 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"opponent": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"edges": {
"quality_edge": -0.0534,
"offense_edge": -0.0914,
"opponent_offense_edge": 0.1344,
"defense_strength": 0.0181,
"opponent_defense_weakness": 0.1093,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0224,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682608",
"profile": {
"available": true,
"pitcher_id": "682608",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 206.0,
"k_percent": 22.8,
"bb_percent": 7.3,
"woba": 0.309,
"xwoba": 0.287,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 32.9,
"avg_best_speed": 75.0035,
"avg_hyper_speed": 92.9151,
"whiff_percent": 26.0,
"swing_percent": 49.8
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4632,
"command_and_miss": 0.165,
"regression_edge": 0.6286,
"xwoba_edge": 0.7143,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.6714,
"whiff_edge": 0.1,
"bb_edge": 0.425,
"pitch_design_score": -0.1105
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682608",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 87.94048713316539,
"release_spin_rate": 2170.530570749743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 87.94048713316539,
"release_spin_rate": 2170.530570749743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.9405,
"release_spin_rate": 2170.5306,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1105,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.789,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2936,
"sample_weight": 0.824,
"run_prevention_factor": 0.975,
"strikeout_factor": 1.0066,
"walk_factor": 0.972,
"homer_factor": 0.9558,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682608",
"espn_id": 4187628,
"player_name": "Peyton Gray",
"team": "TEX",
"role": "pitcher",
"espn_rank": 500,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 500,
"gp_value": 43.0,
"gp_rank": 112,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.831,
"era_rank": null,
"w_value": 6.0,
"w_rank": 88,
"l_value": 0.0,
"l_rank": 548,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 8.0,
"hld_rank": 97,
"ip_value": 49.1,
"ip_rank": 266,
"h_value": 47.0,
"h_rank": 218,
"er_value": 21.0,
"er_rank": 266,
"hr_value": 7.0,
"hr_rank": 205,
"bb_value": 16.0,
"bb_rank": 325,
"k_value": 50.0,
"k_rank": 245,
"k_per_9_value": 9.121621,
"k_per_9_rank": 24.0,
"whip_value": 1.277,
"whip_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9794,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9794,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9769,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9636,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0054,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 6,
"H": 10,
"BB": 4,
"SO": 8,
"HR": 4,
"ERA": 5.4,
"WHIP": 1.4,
"K9": 7.2,
"HR9": 3.6,
"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-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "682608",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 87.94048713316539,
"release_spin_rate": 2170.530570749743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 87.94048713316539,
"release_spin_rate": 2170.530570749743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.9405,
"release_spin_rate": 2170.5306,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1105,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.789,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.892,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6642,
"prior_weight": 0.3358
},
"role": "pitcher",
"player_id": "682608",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 43,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 4.0,
"R": 4.0,
"H": 5.0,
"BB": 2.0,
"SO": 3.0,
"HR": 2.0,
"BF": 22.0,
"Pitches": 78.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 0.8,
"H": 1.0,
"BB": 0.4,
"SO": 0.6,
"HR": 0.4,
"BF": 4.4,
"Pitches": 15.6
},
"rates": {
"ERA": 9.0,
"WHIP": 1.75,
"ER_per_IP": 1.0,
"H_per_IP": 1.25,
"BB_per_IP": 0.5,
"SO_per_IP": 0.75,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 6.0,
"H": 10.0,
"BB": 4.0,
"SO": 8.0,
"HR": 4.0,
"BF": 47.0,
"Pitches": 164.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 0.8,
"HR": 0.4,
"BF": 4.7,
"Pitches": 16.4
},
"rates": {
"ERA": 5.4,
"WHIP": 1.4,
"ER_per_IP": 0.6,
"H_per_IP": 1.0,
"BB_per_IP": 0.4,
"SO_per_IP": 0.8,
"HR_per_IP": 0.4
}
},
"season": {
"games": 43,
"totals": {
"IP": 49.1,
"ER": 21.0,
"R": 25.0,
"H": 47.0,
"BB": 16.0,
"SO": 50.0,
"HR": 7.0,
"BF": 219.0,
"Pitches": 828.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4884,
"R": 0.5814,
"H": 1.093,
"BB": 0.3721,
"SO": 1.1628,
"HR": 0.1628,
"BF": 5.093,
"Pitches": 19.2558
},
"rates": {
"ERA": 3.8311,
"WHIP": 1.277,
"ER_per_IP": 0.42568,
"H_per_IP": 0.9527,
"BB_per_IP": 0.32432,
"SO_per_IP": 1.01351,
"HR_per_IP": 0.14189
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.597,
"predicted_H": 0.954,
"predicted_BB": 0.368,
"predicted_SO": 0.779,
"predicted_HR": 0.28,
"predicted_ERA": 5.9659,
"predicted_WHIP": 1.4674
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4919,
"form_weight": 0.5081,
"form_reliability": 0.6642,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.892,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6642,
"prior_weight": 0.3358
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.597,
"final": 0.3034,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.954,
"final": 0.9766,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.368,
"final": 0.187,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.779,
"final": 0.3958,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.28,
"final": 0.1423,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.9659,
"final": 5.9659,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4674,
"final": 1.4674,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Robby Ahlstrom |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0742 |
| ESPN Rank | 605 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0477 |
| Avg Velo | 90.7647 |
| Avg Spin | 2102.8229 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 4.1786 |
| Season WHIP | 1.1071 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"opponent": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"edges": {
"quality_edge": -0.0534,
"offense_edge": -0.0914,
"opponent_offense_edge": 0.1344,
"defense_strength": 0.0181,
"opponent_defense_weakness": 0.1093,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0224,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695239",
"profile": {
"available": true,
"pitcher_id": "695239",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 22.0,
"bb_percent": 6.8,
"woba": 0.311,
"xwoba": 0.311,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 33.3,
"avg_best_speed": 74.1977,
"avg_hyper_speed": 92.777,
"whiff_percent": 27.6,
"swing_percent": 49.0
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.1849,
"command_and_miss": 0.2186,
"regression_edge": 0.0,
"xwoba_edge": 0.0286,
"barrel_edge": 0.2,
"hard_hit_edge": 0.6143,
"whiff_edge": 0.3286,
"bb_edge": 0.55,
"pitch_design_score": 0.0477
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695239",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 90.76471199691781,
"release_spin_rate": 2102.8229369352753,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 90.76471199691781,
"release_spin_rate": 2102.8229369352753,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.7647,
"release_spin_rate": 2102.8229,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0477,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3407,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0742,
"sample_weight": 0.452,
"run_prevention_factor": 0.9937,
"strikeout_factor": 1.0057,
"walk_factor": 0.9801,
"homer_factor": 0.9813,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695239",
"espn_id": 4832142,
"player_name": "Robby Ahlstrom",
"team": "TEX",
"role": "pitcher",
"espn_rank": 605,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 605,
"gp_value": 33.0,
"gp_rank": 180,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 4.8214,
"era_rank": null,
"w_value": 3.0,
"w_rank": 220,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 6.0,
"hld_rank": 134,
"ip_value": 28.0,
"ip_rank": 420,
"h_value": 27.0,
"h_rank": 404,
"er_value": 15.0,
"er_rank": 372,
"hr_value": 3.0,
"hr_rank": 403,
"bb_value": 8.0,
"bb_rank": 493,
"k_value": 26.0,
"k_rank": 414,
"k_per_9_value": 8.357142,
"k_per_9_rank": 26.0,
"whip_value": 1.25,
"whip_rank": null,
"war_value": -0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9972,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9972,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.991,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0026,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 4,
"H": 7,
"BB": 0,
"SO": 9,
"HR": 1,
"ERA": 4.153846153846153,
"WHIP": 0.8076923076923076,
"K9": 9.346153846153845,
"HR9": 1.0384615384615383,
"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-08-18T00:00:00"
}{
"available": true,
"pitcher_id": "695239",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 90.76471199691781,
"release_spin_rate": 2102.8229369352753,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 90.76471199691781,
"release_spin_rate": 2102.8229369352753,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.7647,
"release_spin_rate": 2102.8229,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0477,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3407,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.614,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5289,
"prior_weight": 0.4711
},
"role": "pitcher",
"player_id": "695239",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 0.0,
"SO": 5.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 77.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.0,
"SO": 1.0,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.4
},
"rates": {
"ERA": 8.3077,
"WHIP": 1.3846,
"ER_per_IP": 0.92308,
"H_per_IP": 1.38462,
"BB_per_IP": 0.0,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 0.0,
"SO": 9.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 137.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.7,
"BB": 0.0,
"SO": 0.9,
"HR": 0.1,
"BF": 3.4,
"Pitches": 13.7
},
"rates": {
"ERA": 4.1538,
"WHIP": 0.8077,
"ER_per_IP": 0.46154,
"H_per_IP": 0.80769,
"BB_per_IP": 0.0,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 32,
"totals": {
"IP": 28.0,
"ER": 13.0,
"R": 13.0,
"H": 24.0,
"BB": 7.0,
"SO": 26.0,
"HR": 3.0,
"BF": 113.0,
"Pitches": 454.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4062,
"R": 0.4062,
"H": 0.75,
"BB": 0.2188,
"SO": 0.8125,
"HR": 0.0938,
"BF": 3.5312,
"Pitches": 14.1875
},
"rates": {
"ERA": 4.1786,
"WHIP": 1.1071,
"ER_per_IP": 0.46429,
"H_per_IP": 0.85714,
"BB_per_IP": 0.25,
"SO_per_IP": 0.92857,
"HR_per_IP": 0.10714
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.59,
"predicted_H": 1.028,
"predicted_BB": 0.199,
"predicted_SO": 1.015,
"predicted_HR": 0.157,
"predicted_ERA": 5.3089,
"predicted_WHIP": 1.2265
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.549,
"form_weight": 0.451,
"form_reliability": 0.5289,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.614,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5289,
"prior_weight": 0.4711
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.59,
"final": 0.2661,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.028,
"final": 1.5617,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.199,
"final": 0.0897,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.015,
"final": 1.5558,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.157,
"final": 0.0708,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3089,
"final": 5.3089,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2265,
"final": 1.2265,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Chase Silseth |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0733 |
| ESPN Rank | 140 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1079 |
| Avg Velo | 91.8406 |
| Avg Spin | 2101.7851 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.8322 |
| Season WHIP | 1.4266 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 133,
"wins": 66,
"losses": 67,
"win_pct": 0.4962,
"runs_scored": 543.0,
"runs_allowed": 587.0,
"run_differential": -44.0,
"run_differential_per_game": -0.3308,
"avg_runs_scored": 4.0827,
"avg_runs_allowed": 4.4135,
"offense_index": 0.9086,
"defense_index": 1.0181,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 4.8,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.1137
},
"opponent": {
"team": "WAS",
"games": 134,
"wins": 62,
"losses": 72,
"win_pct": 0.4627,
"runs_scored": 683.0,
"runs_allowed": 676.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0522,
"avg_runs_scored": 5.097,
"avg_runs_allowed": 5.0448,
"offense_index": 1.1344,
"defense_index": 0.8907,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.1,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.0603
},
"edges": {
"quality_edge": -0.0534,
"offense_edge": -0.0914,
"opponent_offense_edge": 0.1344,
"defense_strength": 0.0181,
"opponent_defense_weakness": 0.1093,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0224,
"strikeout": 0.9876
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681217",
"profile": {
"available": true,
"pitcher_id": "681217",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 196.0,
"k_percent": 26.2,
"bb_percent": 13.3,
"woba": 0.308,
"xwoba": 0.311,
"sweet_spot_percent": 41.6,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 32.0,
"avg_best_speed": 75.0944,
"avg_hyper_speed": 93.3744,
"whiff_percent": 32.0,
"swing_percent": 47.5
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.1,
"bb_percent": 9.0,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8797,
"whiff_percent": 25.3,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.0112,
"command_and_miss": 0.3836,
"regression_edge": -0.0857,
"xwoba_edge": 0.0286,
"barrel_edge": -0.5556,
"hard_hit_edge": 0.8,
"whiff_edge": 0.9571,
"bb_edge": -1.075,
"pitch_design_score": 0.1079
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681217",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 91.84063598389444,
"release_spin_rate": 2101.7851184725855,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 91.84063598389444,
"release_spin_rate": 2101.7851184725855,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.8406,
"release_spin_rate": 2101.7851,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1079,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.771,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0733,
"sample_weight": 0.784,
"run_prevention_factor": 0.9938,
"strikeout_factor": 1.0484,
"walk_factor": 1.0674,
"homer_factor": 1.0091,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681217",
"espn_id": 4413990,
"player_name": "Chase Silseth",
"team": "TEX",
"role": "pitcher",
"espn_rank": 140,
"espn_total_ranked": 819,
"metrics": {
"espn_rank": 140,
"gp_value": 56.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.8321,
"era_rank": null,
"w_value": 3.0,
"w_rank": 220,
"l_value": 3.0,
"l_rank": 209,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 11.0,
"hld_rank": 58,
"ip_value": 47.2,
"ip_rank": 278,
"h_value": 40.0,
"h_rank": 279,
"er_value": 15.0,
"er_rank": 372,
"hr_value": 5.0,
"hr_rank": 285,
"bb_value": 28.0,
"bb_rank": 152,
"k_value": 55.0,
"k_rank": 218,
"k_per_9_value": 10.384616,
"k_per_9_rank": 21.0,
"whip_value": 1.4265,
"whip_rank": null,
"war_value": 1.18,
"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": 1.0528,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0071,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0379,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 3,
"H": 6,
"BB": 7,
"SO": 8,
"HR": 2,
"ERA": 3.0,
"WHIP": 1.4444444444444444,
"K9": 8.0,
"HR9": 2.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-16T00:00:00"
}{
"available": true,
"pitcher_id": "681217",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 91.84063598389444,
"release_spin_rate": 2101.7851184725855,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 91.84063598389444,
"release_spin_rate": 2101.7851184725855,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.8406,
"release_spin_rate": 2101.7851,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1079,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.771,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.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.558,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6565,
"prior_weight": 0.3435
},
"role": "pitcher",
"player_id": "681217",
"report_date": "20260820",
"season_year": 2026,
"rows_used": 56,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 51.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 3.2,
"Pitches": 10.2
},
"rates": {
"ERA": 2.25,
"WHIP": 1.0,
"ER_per_IP": 0.25,
"H_per_IP": 0.5,
"BB_per_IP": 0.5,
"SO_per_IP": 1.0,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 7.0,
"SO": 8.0,
"HR": 2.0,
"BF": 40.0,
"Pitches": 139.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.6,
"BB": 0.7,
"SO": 0.8,
"HR": 0.2,
"BF": 4.0,
"Pitches": 13.9
},
"rates": {
"ERA": 3.0,
"WHIP": 1.4444,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.77778,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 56,
"totals": {
"IP": 47.2,
"ER": 15.0,
"R": 17.0,
"H": 40.0,
"BB": 28.0,
"SO": 55.0,
"HR": 5.0,
"BF": 210.0,
"Pitches": 848.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2679,
"R": 0.3036,
"H": 0.7143,
"BB": 0.5,
"SO": 0.9821,
"HR": 0.0893,
"BF": 3.75,
"Pitches": 15.1429
},
"rates": {
"ERA": 2.8322,
"WHIP": 1.4266,
"ER_per_IP": 0.31469,
"H_per_IP": 0.83916,
"BB_per_IP": 0.58741,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.1049
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.286,
"predicted_H": 0.586,
"predicted_BB": 0.416,
"predicted_SO": 0.77,
"predicted_HR": 0.149,
"predicted_ERA": 3.2722,
"predicted_WHIP": 1.2742
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4951,
"form_weight": 0.5049,
"form_reliability": 0.6565,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.558,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6565,
"prior_weight": 0.3435
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.286,
"final": 1.6298,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 0.586,
"final": 2.2764,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.416,
"final": 0.21,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.77,
"final": 0.8839,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.149,
"final": 0.0752,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2722,
"final": 3.2722,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2742,
"final": 1.2742,
"source": "form_only"
}
}
}{
"available": false,
"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.187 | 0.000 | 0.000 | Hitting_2B | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.893 | 4.000 | 4.000 | Hitting_AB | 4.009 | 4.000 | -0.009 | 0.000 |
| predicted_AVG | 0.253 | 0.000 | 0.250 | Hitting_AVG | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.344 | 0.000 | -0.344 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.987 | 0.000 | 1.000 | Hitting_H | 1.044 | 0.000 | -1.044 | 0.000 |
| predicted_HR | 0.187 | 0.000 | 0.000 | Hitting_HR | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_OBP | 0.312 | 0.000 | 0.250 | Hitting_OBP | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_R | 0.587 | 0.000 | 1.000 | Hitting_R | 0.616 | 0.000 | -0.616 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_SLG | 0.459 | 0.000 | 0.250 | Hitting_SLG | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_SO | 0.973 | 2.000 | 1.000 | Hitting_SO | 0.994 | 3.000 | 1.006 | -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.9730 -> 2.0000 (boost 1.0270, worse) |
| Biggest Deboost | predicted_H: 0.9870 -> 0.0000 (deboost -0.9870, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3120 -> 0.3196 (boost 0.0076, better) | predicted_SLG: 0.4590 -> 0.4414 (deboost -0.0176, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_AB: 3.8441 -> 4.0000 (boost 0.1559, better) | predicted_RBI: 0.4138 -> 0.0000 (deboost -0.4138, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.246 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5954 -> 1.0000 (boost 0.4046, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4401 -> 0.2500 (deboost -0.1901, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4401 (boost 0.1901, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694671",
"player_name": "Wyatt Langford",
"position": "DH",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.187,
"predicted_3B": 0.027,
"predicted_AB": 3.893,
"predicted_AVG": 0.253,
"predicted_BB": 0.333,
"predicted_H": 0.987,
"predicted_HR": 0.187,
"predicted_OBP": 0.312,
"predicted_R": 0.587,
"predicted_RBI": 0.44,
"predicted_SLG": 0.459,
"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.1564,
"predicted_3B": 0.0219,
"predicted_AB": 3.8441,
"predicted_AVG": 0.25,
"predicted_BB": 0.3746,
"predicted_H": 0.9628,
"predicted_HBP": 0.044,
"predicted_HR": 0.1785,
"predicted_OBP": 0.3196,
"predicted_R": 0.6019,
"predicted_RBI": 0.4183,
"predicted_SLG": 0.4414,
"predicted_SO": 0.9343
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.187,
"after": 0.1564,
"delta": -0.0306,
"percent_delta": -0.1636,
"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.893,
"after": 3.8441,
"delta": -0.0489,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.25,
"delta": -0.003,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3746,
"delta": 0.0416,
"percent_delta": 0.1249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.987,
"after": 0.9628,
"delta": -0.0242,
"percent_delta": -0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.187,
"after": 0.1785,
"delta": -0.0085,
"percent_delta": -0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3196,
"delta": 0.0076,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.587,
"after": 0.6019,
"delta": 0.0149,
"percent_delta": 0.0254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4183,
"delta": -0.0217,
"percent_delta": -0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4414,
"delta": -0.0176,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 0.9343,
"delta": -0.0387,
"percent_delta": -0.0398,
"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.312,
"after": 0.3196,
"delta": 0.0076,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4414,
"delta": -0.0176,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1564,
"predicted_3B": 0.0219,
"predicted_AB": 3.8441,
"predicted_AVG": 0.2491,
"predicted_BB": 0.3726,
"predicted_H": 0.9575,
"predicted_HBP": 0.044,
"predicted_HR": 0.178,
"predicted_OBP": 0.3154,
"predicted_R": 0.5954,
"predicted_RBI": 0.4138,
"predicted_SLG": 0.4401,
"predicted_SO": 0.9393
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1564,
"after": 0.1564,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0219,
"after": 0.0219,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8441,
"after": 3.8441,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2491,
"delta": -0.0009,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3746,
"after": 0.3726,
"delta": -0.002,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9628,
"after": 0.9575,
"delta": -0.0053,
"percent_delta": -0.0055,
"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.1785,
"after": 0.178,
"delta": -0.0005,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3196,
"after": 0.3154,
"delta": -0.0042,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6019,
"after": 0.5954,
"delta": -0.0065,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4183,
"after": 0.4138,
"delta": -0.0045,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4414,
"after": 0.4401,
"delta": -0.0013,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9343,
"after": 0.9393,
"delta": 0.005,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.89), rates preserved: AVG=0.246 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1564,
"after": 0.0,
"delta": -0.1564,
"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.8441,
"after": 4.0,
"delta": 0.1559,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3726,
"after": 0.0,
"delta": -0.3726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9575,
"after": 1.0,
"delta": 0.0425,
"percent_delta": 0.0444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4138,
"after": 0.0,
"delta": -0.4138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9393,
"after": 1.0,
"delta": 0.0607,
"percent_delta": 0.0646,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.8441,
"after": 4.0,
"delta": 0.1559,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4138,
"after": 0.0,
"delta": -0.4138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5954,
"after": 1.0,
"delta": 0.4046,
"percent_delta": 0.6795,
"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.5954,
"after": 1.0,
"delta": 0.4046,
"percent_delta": 0.6795,
"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.2491,
"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.3154,
"after": 0.25,
"delta": -0.0654,
"percent_delta": -0.2074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4401,
"after": 0.25,
"delta": -0.1901,
"percent_delta": -0.4319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4401,
"after": 0.25,
"delta": -0.1901,
"percent_delta": -0.4319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2491,
"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.3154,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4401,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2491,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3154,
"delta": 0.0654,
"percent_delta": 0.2618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4401,
"delta": 0.1901,
"percent_delta": 0.7604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4401,
"delta": 0.1901,
"percent_delta": 0.7604,
"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.187,
"after": 0.0,
"delta": -0.187,
"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.893,
"after": 4.0,
"delta": 0.107,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2491,
"delta": -0.0039,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.987,
"after": 0.0,
"delta": -0.987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.187,
"after": 0.0,
"delta": -0.187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3154,
"delta": 0.0034,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.587,
"after": 0.0,
"delta": -0.587,
"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.459,
"after": 0.4401,
"delta": -0.0189,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 2.0,
"delta": 1.027,
"percent_delta": 1.0555,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.973,
"after": 2.0,
"delta": 1.027,
"percent_delta": 1.0555,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.987,
"after": 0.0,
"delta": -0.987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.187 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.893 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.987 | - |
| predicted_HR | 0.187 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.587 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.459 | - |
| 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.156 | -0.031 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 3.844 | -0.049 |
| predicted_AVG | 0.250 | -0.003 |
| predicted_BB | 0.375 | 0.042 |
| predicted_H | 0.963 | -0.024 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.178 | -0.009 |
| predicted_OBP | 0.320 | 0.008 |
| predicted_R | 0.602 | 0.015 |
| predicted_RBI | 0.418 | -0.022 |
| predicted_SLG | 0.441 | -0.018 |
| predicted_SO | 0.934 | -0.039 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.844 | 0.000 |
| predicted_AVG | 0.249 | -0.001 |
| predicted_BB | 0.373 | -0.002 |
| predicted_H | 0.958 | -0.005 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.178 | -0.001 |
| predicted_OBP | 0.315 | -0.004 |
| predicted_R | 0.595 | -0.006 |
| predicted_RBI | 0.414 | -0.005 |
| predicted_SLG | 0.440 | -0.001 |
| predicted_SO | 0.939 | 0.005 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.246 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.156 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | 0.156 |
| predicted_AVG | 0.250 | 0.001 |
| predicted_BB | 0.000 | -0.373 |
| predicted_H | 1.000 | 0.042 |
| predicted_HR | 0.000 | -0.178 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 1.000 | 0.405 |
| predicted_RBI | 0.000 | -0.414 |
| predicted_SLG | 0.250 | -0.190 |
| predicted_SO | 1.000 | 0.061 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 3.000 | 3.000 | 0.2632 | 0.3636 | 0.4211 | 0.2632 | 0.0526 | 0.1053 | 0.1579 | 0.1579 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 0.000 | 0.000 | 1.000 | 2.000 | 6.000 | 6.000 | 9.000 | 0.2059 | 0.3415 | 0.2941 | 0.2059 | 0.0294 | 0.0588 | 0.1765 | 0.2647 |
| season | 0.60 | 75 | - | 292.000 | 74.000 | 14.000 | 2.000 | 14.000 | 33.000 | 44.000 | 25.000 | 73.000 | 0.2534 | 0.3187 | 0.4589 | 0.2534 | 0.0479 | 0.1130 | 0.0856 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.7780 |
| predicted_AVG | 0.2460 |
| predicted_BB | 0.4310 |
| predicted_H | 0.9300 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.1670 |
| predicted_OBP | 0.3299 |
| predicted_R | 0.6220 |
| predicted_RBI | 0.3890 |
| predicted_SLG | 0.4175 |
| predicted_SO | 0.8820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1870 | 0.1150 | 0.1564 | model_form_blend |
| predicted_3B | 0.0270 | 0.0150 | 0.0219 | model_form_blend |
| predicted_AB | 3.8930 | 3.7780 | 3.8441 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2460 | 0.2500 | model_form_blend |
| predicted_BB | 0.3330 | 0.4310 | 0.3746 | model_form_blend |
| predicted_H | 0.9870 | 0.9300 | 0.9628 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.1870 | 0.1670 | 0.1785 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3299 | 0.3196 | model_form_blend |
| predicted_R | 0.5870 | 0.6220 | 0.6019 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3890 | 0.4183 | model_form_blend |
| predicted_SLG | 0.4590 | 0.4175 | 0.4414 | model_form_blend |
| predicted_SO | 0.9730 | 0.8820 | 0.9343 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 320 |
| Season rows before report date | 320 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.253 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | DH |
| gameID | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 694671 |
| playerID | 694671 |
| playerName | Wyatt Langford |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.338 |
| sl_xwoba | 0.308 |
| sl_xba | 0.237 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 39.3 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 48.9 |
| at_bat_number | 70.0 |
| ab_pitcher | 656234.0 |
| ab_pitcher_name | Bird, Jake |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 6.0 |
| ab_event | strikeout |
| ab_event_description | Wyatt Langford strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 69.0 |
| ab_launch_angle_last | 64.0 |
| ab_hit_distance_last | 155.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 6.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 88.36 |
| ab_release_spin_rate_avg | 2576.4 |
| ab_effective_speed_avg | 87.24 |
| ab_launch_speed_avg | 69.0 |
| ab_launch_angle_avg | 64.0 |
| ab_delta_run_exp_avg | -0.052 |
| ab_delta_home_win_exp_avg | -0.0004 |
| ab_delta_pitcher_run_exp_avg | 0.052 |
| ab_bat_speed_avg | 67.43333333333334 |
| ab_swing_length_avg | 6.3 |
| ab_launch_speed_max | 69.0 |
| ab_hit_distance_sc_max | 155.0 |
| ab_release_speed_max | 94.3 |
| ab_release_spin_rate_max | 2783.0 |
| ab_release_speed_min | 81.8 |
| ab_release_spin_rate_min | 2297.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.002 |
| ab_delta_pitcher_run_exp_sum | 0.26 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.198 | 0.000 | 0.000 | Hitting_2B | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 3.534 | 4.000 | 4.000 | Hitting_AB | 3.644 | 4.000 | 0.356 | 0.000 |
| predicted_AVG | 0.261 | 0.750 | 0.250 | Hitting_AVG | 0.271 | 0.000 | 0.479 | 0.750 |
| predicted_BB | 0.276 | 0.000 | 0.000 | Hitting_BB | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.922 | 3.000 | 1.000 | Hitting_H | 0.989 | 0.000 | 2.011 | 3.000 |
| predicted_HR | 0.112 | 1.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | 0.891 | 1.000 |
| predicted_OBP | 0.314 | 0.750 | 0.250 | Hitting_OBP | 0.328 | 0.000 | 0.422 | 0.750 |
| predicted_R | 0.474 | 1.000 | 0.000 | Hitting_R | 0.493 | 0.000 | 0.507 | 1.000 |
| predicted_RBI | 0.552 | 1.000 | 1.000 | Hitting_RBI | 0.596 | 0.000 | 0.404 | 1.000 |
| predicted_SLG | 0.427 | 1.500 | 0.250 | Hitting_SLG | 0.437 | 0.000 | 1.063 | 1.500 |
| predicted_SO | 0.948 | 1.000 | 1.000 | Hitting_SO | 0.958 | 2.000 | 0.042 | -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_H: 0.9220 -> 3.0000 (boost 2.0780, better) |
| Biggest Deboost | predicted_BB: 0.2760 -> 0.0000 (deboost -0.2760, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 2 | 5 | 1 | 6 | predicted_SO: 0.9480 -> 1.0318 (boost 0.0838, worse) | predicted_RBI: 0.5520 -> 0.4730 (deboost -0.0790, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.4679 -> 1.0000 (boost 0.5321, better) | predicted_BB: 0.2703 -> 0.0000 (deboost -0.2703, worse) | AB rounded to 4 (raw=3.59), rates preserved: AVG=0.240 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4355 -> 0.0000 (deboost -0.4355, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2397 -> 0.2500 (boost 0.0103, better) | predicted_SLG: 0.3840 -> 0.2500 (deboost -0.1340, 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 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3840 (boost 0.1340, better) | predicted_AVG: 0.2500 -> 0.2397 (deboost -0.0103, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"position": "LF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.198,
"predicted_3B": 0.026,
"predicted_AB": 3.534,
"predicted_AVG": 0.261,
"predicted_BB": 0.276,
"predicted_H": 0.922,
"predicted_HR": 0.112,
"predicted_OBP": 0.314,
"predicted_R": 0.474,
"predicted_RBI": 0.552,
"predicted_SLG": 0.427,
"predicted_SO": 0.948
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1902,
"predicted_3B": 0.0217,
"predicted_AB": 3.5927,
"predicted_AVG": 0.2416,
"predicted_BB": 0.2717,
"predicted_H": 0.8659,
"predicted_HBP": 0.017,
"predicted_HR": 0.0952,
"predicted_OBP": 0.2949,
"predicted_R": 0.4403,
"predicted_RBI": 0.473,
"predicted_SLG": 0.3868,
"predicted_SO": 1.0318
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.1902,
"delta": -0.0078,
"percent_delta": -0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0217,
"delta": -0.0043,
"percent_delta": -0.1654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.534,
"after": 3.5927,
"delta": 0.0587,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2416,
"delta": -0.0194,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.2717,
"delta": -0.0043,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.922,
"after": 0.8659,
"delta": -0.0561,
"percent_delta": -0.0608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.112,
"after": 0.0952,
"delta": -0.0168,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.2949,
"delta": -0.0191,
"percent_delta": -0.0608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.474,
"after": 0.4403,
"delta": -0.0337,
"percent_delta": -0.0711,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.552,
"after": 0.473,
"delta": -0.079,
"percent_delta": -0.1431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.3868,
"delta": -0.0402,
"percent_delta": -0.0941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.948,
"after": 1.0318,
"delta": 0.0838,
"percent_delta": 0.0884,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.948,
"after": 1.0318,
"delta": 0.0838,
"percent_delta": 0.0884,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.552,
"after": 0.473,
"delta": -0.079,
"percent_delta": -0.1431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 116
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1902,
"predicted_3B": 0.0217,
"predicted_AB": 3.5927,
"predicted_AVG": 0.2397,
"predicted_BB": 0.2703,
"predicted_H": 0.8611,
"predicted_HBP": 0.017,
"predicted_HR": 0.0949,
"predicted_OBP": 0.2929,
"predicted_R": 0.4355,
"predicted_RBI": 0.4679,
"predicted_SLG": 0.384,
"predicted_SO": 1.0373
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1902,
"after": 0.1902,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0217,
"after": 0.0217,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5927,
"after": 3.5927,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.2397,
"delta": -0.0019,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2717,
"after": 0.2703,
"delta": -0.0014,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8659,
"after": 0.8611,
"delta": -0.0048,
"percent_delta": -0.0055,
"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.0952,
"after": 0.0949,
"delta": -0.0003,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2949,
"after": 0.2929,
"delta": -0.002,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4403,
"after": 0.4355,
"delta": -0.0048,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.473,
"after": 0.4679,
"delta": -0.0051,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3868,
"after": 0.384,
"delta": -0.0028,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0318,
"after": 1.0373,
"delta": 0.0055,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.59), rates preserved: AVG=0.240 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1902,
"after": 0.0,
"delta": -0.1902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0217,
"after": 0.0,
"delta": -0.0217,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5927,
"after": 4.0,
"delta": 0.4073,
"percent_delta": 0.1134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2703,
"after": 0.0,
"delta": -0.2703,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8611,
"after": 1.0,
"delta": 0.1389,
"percent_delta": 0.1613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0949,
"after": 0.0,
"delta": -0.0949,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4679,
"after": 1.0,
"delta": 0.5321,
"percent_delta": 1.1372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0373,
"after": 1.0,
"delta": -0.0373,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4679,
"after": 1.0,
"delta": 0.5321,
"percent_delta": 1.1372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2703,
"after": 0.0,
"delta": -0.2703,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4355,
"after": 0.0,
"delta": -0.4355,
"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.4355,
"after": 0.0,
"delta": -0.4355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment 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.2397,
"after": 0.25,
"delta": 0.0103,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2929,
"after": 0.25,
"delta": -0.0429,
"percent_delta": -0.1465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.384,
"after": 0.25,
"delta": -0.134,
"percent_delta": -0.349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.2397,
"after": 0.25,
"delta": 0.0103,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.25,
"delta": -0.134,
"percent_delta": -0.349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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.2397,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2929,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.384,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2397,
"delta": -0.0103,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2929,
"delta": 0.0429,
"percent_delta": 0.1715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.384,
"delta": 0.134,
"percent_delta": 0.536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.384,
"delta": 0.134,
"percent_delta": 0.536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2397,
"delta": -0.0103,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.534,
"after": 4.0,
"delta": 0.466,
"percent_delta": 0.1319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2397,
"delta": -0.0213,
"percent_delta": -0.0816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.922,
"after": 3.0,
"delta": 2.078,
"percent_delta": 2.2538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.112,
"after": 1.0,
"delta": 0.888,
"percent_delta": 7.9286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.2929,
"delta": -0.0211,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.474,
"after": 1.0,
"delta": 0.526,
"percent_delta": 1.1097,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.552,
"after": 1.0,
"delta": 0.448,
"percent_delta": 0.8116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.384,
"delta": -0.043,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.948,
"after": 1.0,
"delta": 0.052,
"percent_delta": 0.0549,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.922,
"after": 3.0,
"delta": 2.078,
"percent_delta": 2.2538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.198 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.534 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.276 | - |
| predicted_H | 0.922 | - |
| predicted_HR | 0.112 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.474 | - |
| predicted_RBI | 0.552 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.948 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | -0.008 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.593 | 0.059 |
| predicted_AVG | 0.242 | -0.019 |
| predicted_BB | 0.272 | -0.004 |
| predicted_H | 0.866 | -0.056 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.095 | -0.017 |
| predicted_OBP | 0.295 | -0.019 |
| predicted_R | 0.440 | -0.034 |
| predicted_RBI | 0.473 | -0.079 |
| predicted_SLG | 0.387 | -0.040 |
| predicted_SO | 1.032 | 0.084 |
Step 3: 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.022 | 0.000 |
| predicted_AB | 3.593 | 0.000 |
| predicted_AVG | 0.240 | -0.002 |
| predicted_BB | 0.270 | -0.001 |
| predicted_H | 0.861 | -0.005 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.095 | -0.000 |
| predicted_OBP | 0.293 | -0.002 |
| predicted_R | 0.435 | -0.005 |
| predicted_RBI | 0.468 | -0.005 |
| predicted_SLG | 0.384 | -0.003 |
| predicted_SO | 1.037 | 0.006 |
AB rounded to 4 (raw=3.59), rates preserved: AVG=0.240 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.190 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | 0.407 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.000 | -0.270 |
| predicted_H | 1.000 | 0.139 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.250 | -0.043 |
| predicted_R | 0.000 | -0.435 |
| predicted_RBI | 1.000 | 0.532 |
| predicted_SLG | 0.250 | -0.134 |
| 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 | 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 | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 8.000 | 0.1579 | 0.2000 | 0.2105 | 0.1579 | 0.0000 | 0.0000 | 0.0526 | 0.4210 |
| last_10 | 0.20 | 10 | - | 39.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 14.000 | 0.1282 | 0.1905 | 0.1538 | 0.1282 | 0.0000 | 0.0256 | 0.0769 | 0.3590 |
| season | 0.60 | 116 | - | 410.000 | 107.000 | 23.000 | 3.000 | 13.000 | 64.000 | 55.000 | 32.000 | 110.000 | 0.2610 | 0.3156 | 0.4268 | 0.2610 | 0.0317 | 0.1561 | 0.0780 | 0.2683 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.6700 |
| predicted_AVG | 0.2160 |
| predicted_BB | 0.2660 |
| predicted_H | 0.7920 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.2698 |
| predicted_R | 0.3960 |
| predicted_RBI | 0.3690 |
| predicted_SLG | 0.3339 |
| predicted_SO | 1.1420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.1800 | 0.1902 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0217 | model_form_blend |
| predicted_AB | 3.5340 | 3.6700 | 3.5927 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2160 | 0.2416 | model_form_blend |
| predicted_BB | 0.2760 | 0.2660 | 0.2717 | model_form_blend |
| predicted_H | 0.9220 | 0.7920 | 0.8659 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1120 | 0.0730 | 0.0952 | model_form_blend |
| predicted_OBP | 0.3140 | 0.2698 | 0.2949 | model_form_blend |
| predicted_R | 0.4740 | 0.3960 | 0.4403 | model_form_blend |
| predicted_RBI | 0.5520 | 0.3690 | 0.4730 | model_form_blend |
| predicted_SLG | 0.4270 | 0.3339 | 0.3868 | model_form_blend |
| predicted_SO | 0.9480 | 1.1420 | 1.0318 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 450 |
| Season rows before report date | 450 |
| Report year | 2026 |
| Profile rows used | 116 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B-LF |
| gameID | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 677649 |
| playerID | 677649 |
| playerName | Ezequiel Duran |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.323 |
| sl_xwoba | 0.298 |
| sl_xba | 0.243 |
| sl_xslg | 0.372 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 36.3 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 51.4 |
| at_bat_number | 72.0 |
| ab_pitcher | 656234.0 |
| ab_pitcher_name | Bird, Jake |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 6.0 |
| ab_event | field_out |
| ab_event_description | Ezequiel Duran pops out to second baseman Nasim Nuñez. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 7.0 |
| ab_launch_speed_last | 74.1 |
| ab_launch_angle_last | 66.0 |
| ab_hit_distance_last | 125.0 |
| ab_estimated_ba_last | 0.001 |
| ab_estimated_woba_last | 0.0 |
| ab_estimated_slg_last | 0.001 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 6.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 86.53999999999999 |
| ab_release_spin_rate_avg | 2630.8 |
| ab_effective_speed_avg | 85.9 |
| ab_launch_speed_avg | 72.19999999999999 |
| ab_launch_angle_avg | 45.5 |
| ab_delta_run_exp_avg | -0.052 |
| ab_delta_home_win_exp_avg | -0.0002 |
| ab_delta_pitcher_run_exp_avg | 0.052 |
| ab_bat_speed_avg | 76.06666666666666 |
| ab_swing_length_avg | 7.433333333333334 |
| ab_launch_speed_max | 74.1 |
| ab_hit_distance_sc_max | 125.0 |
| ab_release_speed_max | 92.2 |
| ab_release_spin_rate_max | 2826.0 |
| ab_release_speed_min | 82.0 |
| ab_release_spin_rate_min | 2449.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.001 |
| ab_delta_pitcher_run_exp_sum | 0.26 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.150 | 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.658 | 3.000 | 4.000 | Hitting_AB | 3.756 | 4.000 | -0.756 | -1.000 |
| predicted_AVG | 0.266 | 0.000 | 0.250 | Hitting_AVG | 0.242 | 0.250 | -0.242 | -0.250 |
| predicted_BB | 0.300 | 1.000 | 0.000 | Hitting_BB | 0.315 | 0.000 | 0.685 | 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.910 | 1.000 | -0.910 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.250 | Hitting_OBP | 0.304 | 0.250 | -0.054 | 0.000 |
| predicted_R | 0.433 | 0.000 | 0.000 | Hitting_R | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.632 | 0.000 | -0.632 | 0.000 |
| predicted_SLG | 0.460 | 0.000 | 0.250 | Hitting_SLG | 0.419 | 0.250 | -0.419 | -0.250 |
| predicted_SO | 1.067 | 0.000 | 1.000 | Hitting_SO | 1.109 | 2.000 | -1.109 | -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.3000 -> 1.0000 (boost 0.7000, better) |
| Biggest Deboost | predicted_SO: 1.0670 -> 0.0000 (deboost -1.0670, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4600 -> 0.4709 (boost 0.0109, 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.3269 -> 0.3191 (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 | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.6394 -> 1.0000 (boost 0.3606, better) | predicted_BB: 0.3143 -> 0.0000 (deboost -0.3143, worse) | AB rounded to 4 (raw=3.66), rates preserved: AVG=0.259 HR/AB=0.055 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4326 -> 0.0000 (deboost -0.4326, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4685 -> 0.2500 (deboost -0.2185, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4685 (boost 0.2185, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669394",
"player_name": "Jake Burger",
"position": "1B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.0,
"predicted_AB": 3.658,
"predicted_AVG": 0.266,
"predicted_BB": 0.3,
"predicted_H": 0.96,
"predicted_HR": 0.19,
"predicted_OBP": 0.328,
"predicted_R": 0.433,
"predicted_RBI": 0.61,
"predicted_SLG": 0.46,
"predicted_SO": 1.067
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1504,
"predicted_3B": 0.0004,
"predicted_AB": 3.6442,
"predicted_AVG": 0.2637,
"predicted_BB": 0.316,
"predicted_H": 0.9539,
"predicted_HBP": 0.016,
"predicted_HR": 0.203,
"predicted_OBP": 0.3269,
"predicted_R": 0.4373,
"predicted_RBI": 0.6464,
"predicted_SLG": 0.4709,
"predicted_SO": 1.0259
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.1504,
"delta": 0.0004,
"percent_delta": 0.0027,
"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.658,
"after": 3.6442,
"delta": -0.0138,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2637,
"delta": -0.0023,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.316,
"delta": 0.016,
"percent_delta": 0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9539,
"delta": -0.0061,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.203,
"delta": 0.013,
"percent_delta": 0.0684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3269,
"delta": -0.0011,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.433,
"after": 0.4373,
"delta": 0.0043,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6464,
"delta": 0.0364,
"percent_delta": 0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4709,
"delta": 0.0109,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.067,
"after": 1.0259,
"delta": -0.0411,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_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.46,
"after": 0.4709,
"delta": 0.0109,
"percent_delta": 0.0237,
"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": 120
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1504,
"predicted_3B": 0.0004,
"predicted_AB": 3.6442,
"predicted_AVG": 0.2603,
"predicted_BB": 0.3143,
"predicted_H": 0.9487,
"predicted_HBP": 0.016,
"predicted_HR": 0.2025,
"predicted_OBP": 0.3191,
"predicted_R": 0.4326,
"predicted_RBI": 0.6394,
"predicted_SLG": 0.4685,
"predicted_SO": 1.0313
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1504,
"after": 0.1504,
"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.6442,
"after": 3.6442,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2637,
"after": 0.2603,
"delta": -0.0034,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.3143,
"delta": -0.0017,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9539,
"after": 0.9487,
"delta": -0.0052,
"percent_delta": -0.0055,
"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.203,
"after": 0.2025,
"delta": -0.0005,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3269,
"after": 0.3191,
"delta": -0.0078,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4373,
"after": 0.4326,
"delta": -0.0047,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6464,
"after": 0.6394,
"delta": -0.007,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4709,
"after": 0.4685,
"delta": -0.0024,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0259,
"after": 1.0313,
"delta": 0.0054,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3269,
"after": 0.3191,
"delta": -0.0078,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.259 HR/AB=0.055",
"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.1504,
"after": 0.0,
"delta": -0.1504,
"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.6442,
"after": 4.0,
"delta": 0.3558,
"percent_delta": 0.0976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3143,
"after": 0.0,
"delta": -0.3143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9487,
"after": 1.0,
"delta": 0.0513,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2025,
"after": 0.0,
"delta": -0.2025,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6394,
"after": 1.0,
"delta": 0.3606,
"percent_delta": 0.564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0313,
"after": 1.0,
"delta": -0.0313,
"percent_delta": -0.0304,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6394,
"after": 1.0,
"delta": 0.3606,
"percent_delta": 0.564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3143,
"after": 0.0,
"delta": -0.3143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4326,
"after": 0.0,
"delta": -0.4326,
"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.4326,
"after": 0.0,
"delta": -0.4326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment 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.2603,
"after": 0.25,
"delta": -0.0103,
"percent_delta": -0.0396,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3191,
"after": 0.25,
"delta": -0.0691,
"percent_delta": -0.2165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4685,
"after": 0.25,
"delta": -0.2185,
"percent_delta": -0.4664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4685,
"after": 0.25,
"delta": -0.2185,
"percent_delta": -0.4664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2603,
"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.3191,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4685,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2603,
"delta": 0.0103,
"percent_delta": 0.0413,
"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.3191,
"delta": 0.0691,
"percent_delta": 0.2762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4685,
"delta": 0.2185,
"percent_delta": 0.8739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.4685,
"delta": 0.2185,
"percent_delta": 0.8739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.658,
"after": 3.0,
"delta": -0.658,
"percent_delta": -0.1799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2603,
"delta": -0.0057,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3191,
"delta": -0.0089,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.433,
"after": 0.0,
"delta": -0.433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4685,
"delta": 0.0085,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.067,
"after": 0.0,
"delta": -1.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.067,
"after": 0.0,
"delta": -1.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.658 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.433 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.460 | - |
| predicted_SO | 1.067 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.644 | -0.014 |
| predicted_AVG | 0.264 | -0.002 |
| predicted_BB | 0.316 | 0.016 |
| predicted_H | 0.954 | -0.006 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.203 | 0.013 |
| predicted_OBP | 0.327 | -0.001 |
| predicted_R | 0.437 | 0.004 |
| predicted_RBI | 0.646 | 0.036 |
| predicted_SLG | 0.471 | 0.011 |
| predicted_SO | 1.026 | -0.041 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.644 | 0.000 |
| predicted_AVG | 0.260 | -0.003 |
| predicted_BB | 0.314 | -0.002 |
| predicted_H | 0.949 | -0.005 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.203 | -0.001 |
| predicted_OBP | 0.319 | -0.008 |
| predicted_R | 0.433 | -0.005 |
| predicted_RBI | 0.639 | -0.007 |
| predicted_SLG | 0.469 | -0.002 |
| predicted_SO | 1.031 | 0.005 |
AB rounded to 4 (raw=3.66), rates preserved: AVG=0.259 HR/AB=0.055
| 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.150 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.356 |
| predicted_AVG | 0.250 | -0.010 |
| predicted_BB | 0.000 | -0.314 |
| predicted_H | 1.000 | 0.051 |
| predicted_HR | 0.000 | -0.203 |
| predicted_OBP | 0.250 | -0.069 |
| predicted_R | 0.000 | -0.433 |
| predicted_RBI | 1.000 | 0.361 |
| predicted_SLG | 0.250 | -0.219 |
| predicted_SO | 1.000 | -0.031 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 18.000 | 6.000 | 1.000 | 0.000 | 2.000 | 5.000 | 3.000 | 2.000 | 4.000 | 0.3333 | 0.4000 | 0.7222 | 0.3333 | 0.1111 | 0.2778 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 1.000 | 0.000 | 2.000 | 7.000 | 3.000 | 4.000 | 9.000 | 0.2571 | 0.3333 | 0.4571 | 0.2571 | 0.0571 | 0.2000 | 0.1143 | 0.2571 |
| season | 0.60 | 120 | - | 439.000 | 105.000 | 18.000 | 0.000 | 21.000 | 73.000 | 52.000 | 36.000 | 128.000 | 0.2392 | 0.3000 | 0.4237 | 0.2392 | 0.0478 | 0.1663 | 0.0820 | 0.2916 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6260 |
| predicted_AVG | 0.2608 |
| predicted_BB | 0.3370 |
| predicted_H | 0.9460 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.2200 |
| predicted_OBP | 0.3254 |
| predicted_R | 0.4430 |
| predicted_RBI | 0.6940 |
| predicted_SLG | 0.4853 |
| predicted_SO | 0.9720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.1510 | 0.1504 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6580 | 3.6260 | 3.6442 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2608 | 0.2637 | model_form_blend |
| predicted_BB | 0.3000 | 0.3370 | 0.3160 | model_form_blend |
| predicted_H | 0.9600 | 0.9460 | 0.9539 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1900 | 0.2200 | 0.2030 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3254 | 0.3269 | model_form_blend |
| predicted_R | 0.4330 | 0.4430 | 0.4373 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6940 | 0.6464 | model_form_blend |
| predicted_SLG | 0.4600 | 0.4853 | 0.4709 | model_form_blend |
| predicted_SO | 1.0670 | 0.9720 | 1.0259 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 476 |
| Season rows before report date | 476 |
| Report year | 2026 |
| Profile rows used | 120 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 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 | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260818_WAS@TEX |
| game_type | full |
| mlbID | 669394 |
| playerID | 669394 |
| playerName | Jake Burger |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-18 |
| game_pk | 822859.0 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.316 |
| sl_xwoba | 0.302 |
| sl_xba | 0.231 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 46.6 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 34.0 |
| sl_swing_percent | 50.4 |
| at_bat_number | 55.0 |
| ab_pitcher | 592866.0 |
| ab_pitcher_name | Williams, Trevor |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 0.0 |
| ab_event | strikeout |
| ab_event_description | Jake Burger strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 59.2 |
| ab_launch_angle_last | -15.0 |
| ab_hit_distance_last | 7.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 5.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 7.0 |
| ab_release_speed_avg | 84.61428571428571 |
| ab_release_spin_rate_avg | 2273.8571428571427 |
| ab_effective_speed_avg | 85.11428571428571 |
| ab_launch_speed_avg | 59.2 |
| ab_launch_angle_avg | -15.0 |
| ab_delta_run_exp_avg | -0.0371428571428571 |
| ab_delta_home_win_exp_avg | -0.0002857142857142 |
| ab_delta_pitcher_run_exp_avg | 0.0371428571428571 |
| ab_bat_speed_avg | 70.63333333333334 |
| ab_swing_length_avg | 6.666666666666667 |
| ab_launch_speed_max | 59.2 |
| ab_hit_distance_sc_max | 7.0 |
| ab_release_speed_max | 89.6 |
| ab_release_spin_rate_max | 2397.0 |
| ab_release_speed_min | 77.2 |
| ab_release_spin_rate_min | 1993.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.002 |
| ab_delta_pitcher_run_exp_sum | 0.26 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.136 | 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 | 4.020 | 3.000 | 4.000 | Hitting_AB | 3.721 | 4.000 | -0.721 | -1.000 |
| predicted_AVG | 0.242 | 0.333 | 0.250 | Hitting_AVG | 0.212 | 0.500 | 0.122 | -0.167 |
| predicted_BB | 0.515 | 1.000 | 0.000 | Hitting_BB | 0.555 | 0.000 | 0.445 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.970 | 1.000 | 1.000 | Hitting_H | 0.788 | 2.000 | 0.212 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_OBP | 0.343 | 0.500 | 0.250 | Hitting_OBP | 0.317 | 0.500 | 0.183 | 0.000 |
| predicted_R | 0.561 | 0.000 | 1.000 | Hitting_R | 0.580 | 0.000 | -0.580 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_SLG | 0.407 | 0.333 | 0.250 | Hitting_SLG | 0.401 | 0.500 | -0.067 | -0.167 |
| predicted_SO | 1.061 | 0.000 | 1.000 | Hitting_SO | 1.067 | 1.000 | -1.067 | -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_BB: 0.5150 -> 1.0000 (boost 0.4850, better) |
| Biggest Deboost | predicted_SO: 1.0610 -> 0.0000 (deboost -1.0610, 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 | 3 | 1 | predicted_SLG: 0.4070 -> 0.4153 (boost 0.0083, better) | predicted_AB: 4.0200 -> 3.8504 (deboost -0.1696, worse) | Final model input calibrated with local 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.3449 -> 0.3333 (deboost -0.0116, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_AB: 3.8504 -> 4.0000 (boost 0.1496, better) | predicted_BB: 0.4947 -> 0.0000 (deboost -0.4947, worse) | AB rounded to 4 (raw=4.02), rates preserved: AVG=0.237 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5595 -> 1.0000 (boost 0.4405, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4099 -> 0.2500 (deboost -0.1599, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4099 (boost 0.1599, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608369",
"player_name": "Corey Seager",
"position": "SS",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.0,
"predicted_AB": 4.02,
"predicted_AVG": 0.242,
"predicted_BB": 0.515,
"predicted_H": 0.97,
"predicted_HR": 0.17,
"predicted_OBP": 0.343,
"predicted_R": 0.561,
"predicted_RBI": 0.45,
"predicted_SLG": 0.407,
"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.1482,
"predicted_3B": 0.0004,
"predicted_AB": 3.8504,
"predicted_AVG": 0.25,
"predicted_BB": 0.4973,
"predicted_H": 0.959,
"predicted_HBP": 0.019,
"predicted_HR": 0.159,
"predicted_OBP": 0.3449,
"predicted_R": 0.5656,
"predicted_RBI": 0.4352,
"predicted_SLG": 0.4153,
"predicted_SO": 0.9897
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1482,
"delta": 0.0122,
"percent_delta": 0.0897,
"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.02,
"after": 3.8504,
"delta": -0.1696,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.25,
"delta": 0.008,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 0.4973,
"delta": -0.0177,
"percent_delta": -0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.959,
"delta": -0.011,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.159,
"delta": -0.011,
"percent_delta": -0.0647,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3449,
"delta": 0.0019,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 0.5656,
"delta": 0.0046,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4352,
"delta": -0.0148,
"percent_delta": -0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4153,
"delta": 0.0083,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.061,
"after": 0.9897,
"delta": -0.0713,
"percent_delta": -0.0672,
"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.407,
"after": 0.4153,
"delta": 0.0083,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.02,
"after": 3.8504,
"delta": -0.1696,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1482,
"predicted_3B": 0.0004,
"predicted_AB": 3.8504,
"predicted_AVG": 0.2477,
"predicted_BB": 0.4947,
"predicted_H": 0.9537,
"predicted_HBP": 0.019,
"predicted_HR": 0.1586,
"predicted_OBP": 0.3333,
"predicted_R": 0.5595,
"predicted_RBI": 0.4305,
"predicted_SLG": 0.4099,
"predicted_SO": 0.9949
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1482,
"after": 0.1482,
"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.8504,
"after": 3.8504,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2477,
"delta": -0.0023,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4973,
"after": 0.4947,
"delta": -0.0026,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.959,
"after": 0.9537,
"delta": -0.0053,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.159,
"after": 0.1586,
"delta": -0.0004,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3449,
"after": 0.3333,
"delta": -0.0116,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5656,
"after": 0.5595,
"delta": -0.0061,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4352,
"after": 0.4305,
"delta": -0.0047,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4153,
"after": 0.4099,
"delta": -0.0054,
"percent_delta": -0.013,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9897,
"after": 0.9949,
"delta": 0.0052,
"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_OBP",
"before": 0.3449,
"after": 0.3333,
"delta": -0.0116,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.02), rates preserved: AVG=0.237 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1482,
"after": 0.0,
"delta": -0.1482,
"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.8504,
"after": 4.0,
"delta": 0.1496,
"percent_delta": 0.0389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4947,
"after": 0.0,
"delta": -0.4947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9537,
"after": 1.0,
"delta": 0.0463,
"percent_delta": 0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1586,
"after": 0.0,
"delta": -0.1586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4305,
"after": 0.0,
"delta": -0.4305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9949,
"after": 1.0,
"delta": 0.0051,
"percent_delta": 0.0051,
"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": 3.8504,
"after": 4.0,
"delta": 0.1496,
"percent_delta": 0.0389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4947,
"after": 0.0,
"delta": -0.4947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.5595,
"after": 1.0,
"delta": 0.4405,
"percent_delta": 0.7873,
"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.5595,
"after": 1.0,
"delta": 0.4405,
"percent_delta": 0.7873,
"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.2477,
"after": 0.25,
"delta": 0.0023,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.25,
"delta": -0.0833,
"percent_delta": -0.2499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4099,
"after": 0.25,
"delta": -0.1599,
"percent_delta": -0.3901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4099,
"after": 0.25,
"delta": -0.1599,
"percent_delta": -0.3901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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.2477,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4099,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2477,
"delta": -0.0023,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3333,
"delta": 0.0833,
"percent_delta": 0.3334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4099,
"delta": 0.1599,
"percent_delta": 0.6398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.4099,
"delta": 0.1599,
"percent_delta": 0.6398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 3.0,
"delta": -1.02,
"percent_delta": -0.2537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2477,
"delta": 0.0057,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"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.3333,
"delta": -0.0097,
"percent_delta": -0.0283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 0.0,
"delta": -0.561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4099,
"delta": 0.0029,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.061,
"after": 0.0,
"delta": -1.061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.061,
"after": 0.0,
"delta": -1.061,
"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.020 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.515 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.561 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.407 | - |
| 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.148 | 0.012 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.850 | -0.170 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 0.497 | -0.018 |
| predicted_H | 0.959 | -0.011 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.159 | -0.011 |
| predicted_OBP | 0.345 | 0.002 |
| predicted_R | 0.566 | 0.005 |
| predicted_RBI | 0.435 | -0.015 |
| predicted_SLG | 0.415 | 0.008 |
| predicted_SO | 0.990 | -0.071 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.850 | 0.000 |
| predicted_AVG | 0.248 | -0.002 |
| predicted_BB | 0.495 | -0.003 |
| predicted_H | 0.954 | -0.005 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.159 | -0.000 |
| predicted_OBP | 0.333 | -0.012 |
| predicted_R | 0.559 | -0.006 |
| predicted_RBI | 0.430 | -0.005 |
| predicted_SLG | 0.410 | -0.005 |
| predicted_SO | 0.995 | 0.005 |
AB rounded to 4 (raw=4.02), rates preserved: AVG=0.237 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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.148 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.150 |
| predicted_AVG | 0.250 | 0.002 |
| predicted_BB | 0.000 | -0.495 |
| predicted_H | 1.000 | 0.046 |
| predicted_HR | 0.000 | -0.159 |
| predicted_OBP | 0.250 | -0.083 |
| predicted_R | 1.000 | 0.441 |
| predicted_RBI | 0.000 | -0.430 |
| predicted_SLG | 0.250 | -0.160 |
| 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 | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 4.000 | 0.3750 | 0.4737 | 0.4375 | 0.3750 | 0.0000 | 0.0625 | 0.1875 | 0.2500 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 2.000 | 0.000 | 2.000 | 5.000 | 6.000 | 3.000 | 5.000 | 0.2973 | 0.3500 | 0.5135 | 0.2973 | 0.0541 | 0.1351 | 0.0811 | 0.1351 |
| season | 0.60 | 66 | - | 244.000 | 52.000 | 9.000 | 0.000 | 12.000 | 30.000 | 37.000 | 34.000 | 70.000 | 0.2131 | 0.3121 | 0.3975 | 0.2131 | 0.0492 | 0.1230 | 0.1393 | 0.2869 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1650 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6180 |
| predicted_AVG | 0.2609 |
| predicted_BB | 0.4730 |
| predicted_H | 0.9440 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.1440 |
| predicted_OBP | 0.3475 |
| predicted_R | 0.5720 |
| predicted_RBI | 0.4150 |
| predicted_SLG | 0.4267 |
| predicted_SO | 0.8920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.1650 | 0.1482 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0200 | 3.6180 | 3.8504 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2609 | 0.2500 | model_form_blend |
| predicted_BB | 0.5150 | 0.4730 | 0.4973 | model_form_blend |
| predicted_H | 0.9700 | 0.9440 | 0.9590 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1700 | 0.1440 | 0.1590 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3475 | 0.3449 | model_form_blend |
| predicted_R | 0.5610 | 0.5720 | 0.5656 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4150 | 0.4352 | model_form_blend |
| predicted_SLG | 0.4070 | 0.4267 | 0.4153 | model_form_blend |
| predicted_SO | 1.0610 | 0.8920 | 0.9897 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 283 |
| Season rows before report date | 283 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.213 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 608369 |
| playerID | 608369 |
| playerName | Corey Seager |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.31 |
| sl_xwoba | 0.337 |
| sl_xba | 0.233 |
| sl_xslg | 0.453 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 14.8 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 34.1 |
| sl_swing_percent | 51.8 |
| at_bat_number | 65.0 |
| ab_pitcher | 668820.0 |
| ab_pitcher_name | Kranick, Max |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 553869.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 6.0 |
| ab_event | field_out |
| ab_event_description | Corey Seager grounds out to first baseman Abimelec Ortiz. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 83.2 |
| ab_launch_angle_last | -6.0 |
| ab_hit_distance_last | 17.0 |
| ab_estimated_ba_last | 0.126 |
| ab_estimated_woba_last | 0.119 |
| ab_estimated_slg_last | 0.14 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 6.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 80.5 |
| ab_release_spin_rate_avg | 2176.0 |
| ab_effective_speed_avg | 80.8 |
| ab_launch_speed_avg | 83.2 |
| ab_launch_angle_avg | -6.0 |
| ab_delta_run_exp_avg | -0.28 |
| ab_delta_home_win_exp_avg | -0.003 |
| ab_delta_pitcher_run_exp_avg | 0.28 |
| ab_bat_speed_avg | 75.9 |
| ab_swing_length_avg | 7.1 |
| ab_launch_speed_max | 83.2 |
| ab_hit_distance_sc_max | 17.0 |
| ab_release_speed_max | 80.5 |
| ab_release_spin_rate_max | 2176.0 |
| ab_release_speed_min | 80.5 |
| ab_release_spin_rate_min | 2176.0 |
| ab_delta_run_exp_sum | -0.28 |
| ab_delta_home_win_exp_sum | -0.003 |
| ab_delta_pitcher_run_exp_sum | 0.28 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.115 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.880 | 1.000 | 1.120 | 3.000 |
| predicted_AVG | 0.352 | 0.000 | 0.333 | Hitting_AVG | 0.274 | 1.000 | -0.274 | -1.000 |
| predicted_BB | 0.164 | 0.000 | 0.000 | Hitting_BB | 0.259 | 1.000 | -0.259 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.630 | 0.000 | 1.000 | Hitting_H | 0.789 | 1.000 | -0.789 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.157 | 1.000 | -0.157 | -1.000 |
| predicted_OBP | 0.352 | 0.000 | 0.333 | Hitting_OBP | 0.336 | 1.000 | -0.336 | -1.000 |
| predicted_R | 0.280 | 0.000 | 0.000 | Hitting_R | 0.337 | 1.000 | -0.337 | -1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.488 | 2.000 | -0.488 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.807 | 0.000 | 0.333 | Hitting_SLG | 0.508 | 4.000 | -0.508 | -4.000 |
| predicted_SO | 0.707 | 1.000 | 1.000 | Hitting_SO | 0.771 | 0.000 | 0.229 | 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.5000 -> 4.0000 (boost 1.5000, better) |
| 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 | 4 | 0 | 4 | 1 | 3 | - | predicted_SLG: 0.8070 -> 0.6769 (deboost -0.1301, worse) | Final model input calibrated with local form: 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.6769 -> 0.4798 (deboost -0.1971, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 2.5004 -> 3.0000 (boost 0.4996, better) | predicted_RBI: 0.3953 -> 0.0000 (deboost -0.3953, worse) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.255 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2738 -> 0.0000 (deboost -0.2738, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2552 -> 0.3330 (boost 0.0778, better) | predicted_SLG: 0.4798 -> 0.3330 (deboost -0.1468, 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.4798 (boost 0.1468, better) | predicted_AVG: 0.3330 -> 0.2552 (deboost -0.0778, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679822",
"player_name": "Justin Foscue",
"position": "2B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.115,
"predicted_3B": 0.016,
"predicted_AB": 2.5,
"predicted_AVG": 0.352,
"predicted_BB": 0.164,
"predicted_H": 0.63,
"predicted_HR": 0.14,
"predicted_OBP": 0.352,
"predicted_R": 0.28,
"predicted_RBI": 0.4,
"predicted_SLG": 0.807,
"predicted_SO": 0.707
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0996,
"predicted_3B": 0.0209,
"predicted_AB": 2.5004,
"predicted_AVG": 0.3161,
"predicted_BB": 0.1741,
"predicted_H": 0.6417,
"predicted_HBP": 0.012,
"predicted_HR": 0.1404,
"predicted_OBP": 0.338,
"predicted_R": 0.2768,
"predicted_RBI": 0.3996,
"predicted_SLG": 0.6769,
"predicted_SO": 0.6455
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.0996,
"delta": -0.0154,
"percent_delta": -0.1339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0209,
"delta": 0.0049,
"percent_delta": 0.3062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5004,
"delta": 0.0004,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.352,
"after": 0.3161,
"delta": -0.0359,
"percent_delta": -0.102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.164,
"after": 0.1741,
"delta": 0.0101,
"percent_delta": 0.0616,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.6417,
"delta": 0.0117,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1404,
"delta": 0.0004,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.338,
"delta": -0.014,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.28,
"after": 0.2768,
"delta": -0.0032,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3996,
"delta": -0.0004,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.807,
"after": 0.6769,
"delta": -0.1301,
"percent_delta": -0.1612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.707,
"after": 0.6455,
"delta": -0.0615,
"percent_delta": -0.087,
"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_SLG",
"before": 0.807,
"after": 0.6769,
"delta": -0.1301,
"percent_delta": -0.1612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.0996,
"predicted_3B": 0.0209,
"predicted_AB": 2.5004,
"predicted_AVG": 0.2552,
"predicted_BB": 0.1732,
"predicted_H": 0.6382,
"predicted_HBP": 0.012,
"predicted_HR": 0.14,
"predicted_OBP": 0.3035,
"predicted_R": 0.2738,
"predicted_RBI": 0.3953,
"predicted_SLG": 0.4798,
"predicted_SO": 0.6489
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0996,
"after": 0.0996,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0209,
"after": 0.0209,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5004,
"after": 2.5004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3161,
"after": 0.2552,
"delta": -0.0609,
"percent_delta": -0.1927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1741,
"after": 0.1732,
"delta": -0.0009,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6417,
"after": 0.6382,
"delta": -0.0035,
"percent_delta": -0.0055,
"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.1404,
"after": 0.14,
"delta": -0.0004,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3035,
"delta": -0.0345,
"percent_delta": -0.1021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2768,
"after": 0.2738,
"delta": -0.003,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3996,
"after": 0.3953,
"delta": -0.0043,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6769,
"after": 0.4798,
"delta": -0.1971,
"percent_delta": -0.2912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6455,
"after": 0.6489,
"delta": 0.0034,
"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.6769,
"after": 0.4798,
"delta": -0.1971,
"percent_delta": -0.2912,
"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.255 HR/AB=0.056",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0996,
"after": 0.0,
"delta": -0.0996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0209,
"after": 0.0,
"delta": -0.0209,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5004,
"after": 3.0,
"delta": 0.4996,
"percent_delta": 0.1998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1732,
"after": 0.0,
"delta": -0.1732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3953,
"after": 0.0,
"delta": -0.3953,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6489,
"after": 1.0,
"delta": 0.3511,
"percent_delta": 0.5411,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5004,
"after": 3.0,
"delta": 0.4996,
"percent_delta": 0.1998,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2738,
"after": 0.0,
"delta": -0.2738,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2738,
"after": 0.0,
"delta": -0.2738,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2552,
"after": 0.333,
"delta": 0.0778,
"percent_delta": 0.3049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3035,
"after": 0.333,
"delta": 0.0295,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4798,
"after": 0.333,
"delta": -0.1468,
"percent_delta": -0.306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2552,
"after": 0.333,
"delta": 0.0778,
"percent_delta": 0.3049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4798,
"after": 0.333,
"delta": -0.1468,
"percent_delta": -0.306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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.2552,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3035,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4798,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2552,
"delta": -0.0778,
"percent_delta": -0.2336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3035,
"delta": -0.0295,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4798,
"delta": 0.1468,
"percent_delta": 0.4408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.4798,
"delta": 0.1468,
"percent_delta": 0.4408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2552,
"delta": -0.0778,
"percent_delta": -0.2336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.0,
"delta": -0.115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.352,
"after": 0.2552,
"delta": -0.0968,
"percent_delta": -0.275,
"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.63,
"after": 0.0,
"delta": -0.63,
"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.352,
"after": 0.3035,
"delta": -0.0485,
"percent_delta": -0.1378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"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.807,
"after": 0.4798,
"delta": -0.3272,
"percent_delta": -0.4055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.707,
"after": 1.0,
"delta": 0.293,
"percent_delta": 0.4144,
"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.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.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.115 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.352 | - |
| predicted_BB | 0.164 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.352 | - |
| predicted_R | 0.280 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.807 | - |
| predicted_SO | 0.707 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.015 |
| predicted_3B | 0.021 | 0.005 |
| predicted_AB | 2.500 | 0.000 |
| predicted_AVG | 0.316 | -0.036 |
| predicted_BB | 0.174 | 0.010 |
| predicted_H | 0.642 | 0.012 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.140 | 0.000 |
| predicted_OBP | 0.338 | -0.014 |
| predicted_R | 0.277 | -0.003 |
| predicted_RBI | 0.400 | -0.000 |
| predicted_SLG | 0.677 | -0.130 |
| predicted_SO | 0.645 | -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.100 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 2.500 | 0.000 |
| predicted_AVG | 0.255 | -0.061 |
| predicted_BB | 0.173 | -0.001 |
| predicted_H | 0.638 | -0.004 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.140 | -0.000 |
| predicted_OBP | 0.303 | -0.035 |
| predicted_R | 0.274 | -0.003 |
| predicted_RBI | 0.395 | -0.004 |
| predicted_SLG | 0.480 | -0.197 |
| predicted_SO | 0.649 | 0.003 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.255 HR/AB=0.056
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.021 |
| predicted_AB | 3.000 | 0.500 |
| predicted_AVG | 0.333 | 0.078 |
| predicted_BB | 0.000 | -0.173 |
| predicted_H | 1.000 | 0.362 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.333 | 0.030 |
| predicted_R | 0.000 | -0.274 |
| predicted_RBI | 0.000 | -0.395 |
| predicted_SLG | 0.333 | -0.147 |
| predicted_SO | 1.000 | 0.351 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.000 | 0.3000 | 0.3636 | 0.6000 | 0.3000 | 0.1000 | 0.2000 | 0.1000 | 0.0000 |
| last_10 | 0.20 | 10 | - | 23.000 | 6.000 | 0.000 | 1.000 | 1.000 | 4.000 | 2.000 | 2.000 | 6.000 | 0.2609 | 0.3200 | 0.4783 | 0.2609 | 0.0435 | 0.1739 | 0.0870 | 0.2609 |
| season | 0.60 | 65 | - | 152.000 | 39.000 | 7.000 | 1.000 | 8.000 | 23.000 | 17.000 | 10.000 | 43.000 | 0.2566 | 0.3049 | 0.4737 | 0.2566 | 0.0526 | 0.1513 | 0.0658 | 0.2829 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0770 |
| predicted_3B | 0.0280 |
| predicted_AB | 2.5010 |
| predicted_AVG | 0.2633 |
| predicted_BB | 0.1890 |
| predicted_H | 0.6590 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1410 |
| predicted_OBP | 0.3174 |
| predicted_R | 0.2720 |
| predicted_RBI | 0.3990 |
| predicted_SLG | 0.4857 |
| predicted_SO | 0.5550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.0770 | 0.0996 | model_form_blend |
| predicted_3B | 0.0160 | 0.0280 | 0.0209 | model_form_blend |
| predicted_AB | 2.5000 | 2.5010 | 2.5004 | model_form_blend |
| predicted_AVG | 0.3520 | 0.2633 | 0.3161 | model_form_blend |
| predicted_BB | 0.1640 | 0.1890 | 0.1741 | model_form_blend |
| predicted_H | 0.6300 | 0.6590 | 0.6417 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1400 | 0.1410 | 0.1404 | model_form_blend |
| predicted_OBP | 0.3520 | 0.3174 | 0.3380 | model_form_blend |
| predicted_R | 0.2800 | 0.2720 | 0.2768 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3990 | 0.3996 | model_form_blend |
| predicted_SLG | 0.8070 | 0.4857 | 0.6769 | model_form_blend |
| predicted_SO | 0.7070 | 0.5550 | 0.6455 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 166 |
| Season rows before report date | 166 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.257 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | DH |
| gameID | 20260818_WAS@TEX |
| game_type | full |
| mlbID | 679822 |
| playerID | 679822 |
| playerName | Justin Foscue |
| pos | 2B |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-18 |
| game_pk | 822859.0 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.344 |
| sl_xwoba | 0.319 |
| sl_xba | 0.235 |
| sl_xslg | 0.426 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 43.2 |
| at_bat_number | 26.0 |
| ab_pitcher | 800600.0 |
| ab_pitcher_name | Kent, Jackson |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 3.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 677649.0 |
| ab_on_2b_start | 607043.0 |
| ab_on_3b_start | 608369.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 0.0 |
| ab_event | walk |
| ab_event_description | Justin Foscue walks. Corey Seager scores. Brandon Nimmo to 3rd. Ezequiel Duran to 2nd. |
| ab_event_type | B |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_estimated_woba_last | 0.697785 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 88.1 |
| ab_release_spin_rate_avg | 2119.0 |
| ab_effective_speed_avg | 89.45 |
| ab_delta_run_exp_avg | 0.0915 |
| ab_delta_home_win_exp_avg | 0.01 |
| ab_delta_pitcher_run_exp_avg | -0.0915 |
| ab_release_speed_max | 91.9 |
| ab_release_spin_rate_max | 2456.0 |
| ab_release_speed_min | 77.2 |
| ab_release_spin_rate_min | 1983.0 |
| ab_delta_run_exp_sum | 0.366 |
| ab_delta_home_win_exp_sum | 0.04 |
| ab_delta_pitcher_run_exp_sum | -0.366 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 0.000 | 0.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 4.550 | 4.000 | 5.000 | Hitting_AB | 3.941 | 4.000 | 0.059 | 0.000 |
| predicted_AVG | 0.239 | 0.000 | 0.200 | Hitting_AVG | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_BB | 0.331 | 0.000 | 0.000 | Hitting_BB | 0.331 | 0.000 | -0.331 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_H | 1.090 | 0.000 | 1.000 | Hitting_H | 1.079 | 0.000 | -1.079 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_OBP | 0.293 | 0.000 | 0.200 | Hitting_OBP | 0.337 | 0.000 | -0.337 | 0.000 |
| predicted_R | 0.430 | 0.000 | 0.000 | Hitting_R | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 0.000 | Hitting_RBI | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_SLG | 0.410 | 0.000 | 0.200 | Hitting_SLG | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_SO | 0.901 | 2.000 | 1.000 | Hitting_SO | 0.945 | 1.000 | 1.055 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 0 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9010 -> 2.0000 (boost 1.0990, worse) |
| Biggest Deboost | predicted_H: 1.0900 -> 0.0000 (deboost -1.0900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.5500 -> 4.2702 (deboost -0.2798, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_AB: 4.2702 -> 5.0000 (boost 0.7298, better) | predicted_RBI: 0.4518 -> 0.0000 (deboost -0.4518, worse) | AB rounded to 5 (raw=4.55), rates preserved: AVG=0.226 HR/AB=0.028 |
| 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 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3951 -> 0.2000 (deboost -0.1951, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 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.3951 (boost 0.1951, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.033,
"predicted_AB": 4.55,
"predicted_AVG": 0.239,
"predicted_BB": 0.331,
"predicted_H": 1.09,
"predicted_HR": 0.16,
"predicted_OBP": 0.293,
"predicted_R": 0.43,
"predicted_RBI": 0.51,
"predicted_SLG": 0.41,
"predicted_SO": 0.901
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2167,
"predicted_3B": 0.0274,
"predicted_AB": 4.2702,
"predicted_AVG": 0.2423,
"predicted_BB": 0.2937,
"predicted_H": 1.0349,
"predicted_HBP": 0.031,
"predicted_HR": 0.1292,
"predicted_OBP": 0.2933,
"predicted_R": 0.427,
"predicted_RBI": 0.4567,
"predicted_SLG": 0.3952,
"predicted_SO": 0.8841
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.2167,
"delta": -0.0143,
"percent_delta": -0.0619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0274,
"delta": -0.0056,
"percent_delta": -0.1697,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.55,
"after": 4.2702,
"delta": -0.2798,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2423,
"delta": 0.0033,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.2937,
"delta": -0.0373,
"percent_delta": -0.1127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0349,
"delta": -0.0551,
"percent_delta": -0.0506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1292,
"delta": -0.0308,
"percent_delta": -0.1925,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2933,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.43,
"after": 0.427,
"delta": -0.003,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.4567,
"delta": -0.0533,
"percent_delta": -0.1045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.3952,
"delta": -0.0148,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.901,
"after": 0.8841,
"delta": -0.0169,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.55,
"after": 4.2702,
"delta": -0.2798,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 121
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2167,
"predicted_3B": 0.0274,
"predicted_AB": 4.2702,
"predicted_AVG": 0.241,
"predicted_BB": 0.2921,
"predicted_H": 1.0292,
"predicted_HBP": 0.031,
"predicted_HR": 0.1289,
"predicted_OBP": 0.2896,
"predicted_R": 0.4224,
"predicted_RBI": 0.4518,
"predicted_SLG": 0.3951,
"predicted_SO": 0.8888
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2167,
"after": 0.2167,
"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": 4.2702,
"after": 4.2702,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2423,
"after": 0.241,
"delta": -0.0013,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2937,
"after": 0.2921,
"delta": -0.0016,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0349,
"after": 1.0292,
"delta": -0.0057,
"percent_delta": -0.0055,
"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.1292,
"after": 0.1289,
"delta": -0.0003,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2933,
"after": 0.2896,
"delta": -0.0037,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.4224,
"delta": -0.0046,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4567,
"after": 0.4518,
"delta": -0.0049,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3952,
"after": 0.3951,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8841,
"after": 0.8888,
"delta": 0.0047,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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 5 (raw=4.55), rates preserved: AVG=0.226 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2167,
"after": 0.0,
"delta": -0.2167,
"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": 4.2702,
"after": 5.0,
"delta": 0.7298,
"percent_delta": 0.1709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2921,
"after": 0.0,
"delta": -0.2921,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0292,
"after": 1.0,
"delta": -0.0292,
"percent_delta": -0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1289,
"after": 0.0,
"delta": -0.1289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4518,
"after": 0.0,
"delta": -0.4518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8888,
"after": 1.0,
"delta": 0.1112,
"percent_delta": 0.1251,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.2702,
"after": 5.0,
"delta": 0.7298,
"percent_delta": 0.1709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4518,
"after": 0.0,
"delta": -0.4518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4224,
"after": 0.0,
"delta": -0.4224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_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": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2,
"delta": -0.041,
"percent_delta": -0.1701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2896,
"after": 0.2,
"delta": -0.0896,
"percent_delta": -0.3094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.2,
"delta": -0.1951,
"percent_delta": -0.4938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3951,
"after": 0.2,
"delta": -0.1951,
"percent_delta": -0.4938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.241,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2896,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3951,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.241,
"delta": 0.041,
"percent_delta": 0.2051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2896,
"delta": 0.0896,
"percent_delta": 0.4481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3951,
"delta": 0.1951,
"percent_delta": 0.9756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.3951,
"delta": 0.1951,
"percent_delta": 0.9756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.55,
"after": 4.0,
"delta": -0.55,
"percent_delta": -0.1209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.241,
"delta": 0.002,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.0,
"delta": -0.331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 0.0,
"delta": -1.09,
"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.293,
"after": 0.2896,
"delta": -0.0034,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.3951,
"delta": -0.0149,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.901,
"after": 2.0,
"delta": 1.099,
"percent_delta": 1.2198,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.901,
"after": 2.0,
"delta": 1.099,
"percent_delta": 1.2198,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.09,
"after": 0.0,
"delta": -1.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 4.550 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.331 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.430 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 0.901 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.027 | -0.006 |
| predicted_AB | 4.270 | -0.280 |
| predicted_AVG | 0.242 | 0.003 |
| predicted_BB | 0.294 | -0.037 |
| predicted_H | 1.035 | -0.055 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.129 | -0.031 |
| predicted_OBP | 0.293 | 0.000 |
| predicted_R | 0.427 | -0.003 |
| predicted_RBI | 0.457 | -0.053 |
| predicted_SLG | 0.395 | -0.015 |
| predicted_SO | 0.884 | -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.217 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 4.270 | 0.000 |
| predicted_AVG | 0.241 | -0.001 |
| predicted_BB | 0.292 | -0.002 |
| predicted_H | 1.029 | -0.006 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.129 | -0.000 |
| predicted_OBP | 0.290 | -0.004 |
| predicted_R | 0.422 | -0.005 |
| predicted_RBI | 0.452 | -0.005 |
| predicted_SLG | 0.395 | -0.000 |
| predicted_SO | 0.889 | 0.005 |
AB rounded to 5 (raw=4.55), rates preserved: AVG=0.226 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.217 |
| predicted_3B | 0.000 | -0.027 |
| predicted_AB | 5.000 | 0.730 |
| predicted_AVG | 0.200 | -0.041 |
| predicted_BB | 0.000 | -0.292 |
| predicted_H | 1.000 | -0.029 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.200 | -0.090 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 0.000 | -0.452 |
| predicted_SLG | 0.200 | -0.195 |
| 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 | 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 | - | 21.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 4.000 | 0.1905 | 0.1905 | 0.2381 | 0.1905 | 0.0000 | 0.0476 | 0.0000 | 0.1905 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 1.000 | 0.000 | 1.000 | 5.000 | 4.000 | 2.000 | 8.000 | 0.2308 | 0.2683 | 0.3333 | 0.2308 | 0.0256 | 0.1282 | 0.0513 | 0.2051 |
| season | 0.60 | 121 | - | 462.000 | 125.000 | 28.000 | 4.000 | 13.000 | 48.000 | 52.000 | 40.000 | 109.000 | 0.2706 | 0.3353 | 0.4329 | 0.2706 | 0.0281 | 0.1039 | 0.0866 | 0.2359 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1980 |
| predicted_3B | 0.0200 |
| predicted_AB | 3.9050 |
| predicted_AVG | 0.2467 |
| predicted_BB | 0.2450 |
| predicted_H | 0.9630 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.0890 |
| predicted_OBP | 0.2936 |
| predicted_R | 0.4230 |
| predicted_RBI | 0.3870 |
| predicted_SLG | 0.3759 |
| predicted_SO | 0.8620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.1980 | 0.2167 | model_form_blend |
| predicted_3B | 0.0330 | 0.0200 | 0.0274 | model_form_blend |
| predicted_AB | 4.5500 | 3.9050 | 4.2702 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2467 | 0.2423 | model_form_blend |
| predicted_BB | 0.3310 | 0.2450 | 0.2937 | model_form_blend |
| predicted_H | 1.0900 | 0.9630 | 1.0349 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.1600 | 0.0890 | 0.1292 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2936 | 0.2933 | model_form_blend |
| predicted_R | 0.4300 | 0.4230 | 0.4270 | model_form_blend |
| predicted_RBI | 0.5100 | 0.3870 | 0.4567 | model_form_blend |
| predicted_SLG | 0.4100 | 0.3759 | 0.3952 | model_form_blend |
| predicted_SO | 0.9010 | 0.8620 | 0.8841 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 508 |
| Season rows before report date | 508 |
| Report year | 2026 |
| Profile rows used | 121 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | RF |
| gameID | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 607043 |
| playerID | 607043 |
| playerName | Brandon Nimmo |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.336 |
| sl_xwoba | 0.364 |
| sl_xba | 0.288 |
| sl_xslg | 0.488 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 10.4 |
| sl_hard_hit_percent | 51.5 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 50.8 |
| at_bat_number | 71.0 |
| ab_pitcher | 656234.0 |
| ab_pitcher_name | Bird, Jake |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 6.0 |
| ab_event | field_out |
| ab_event_description | Brandon Nimmo flies out to left fielder Daylen Lile. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 88.0 |
| ab_launch_angle_last | 50.0 |
| ab_hit_distance_last | 276.0 |
| ab_estimated_ba_last | 0.006 |
| ab_estimated_woba_last | 0.006 |
| ab_estimated_slg_last | 0.01 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 6.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 87.65 |
| ab_release_spin_rate_avg | 2635.5 |
| ab_effective_speed_avg | 87.19999999999999 |
| ab_launch_speed_avg | 88.0 |
| ab_launch_angle_avg | 50.0 |
| ab_delta_run_exp_avg | -0.131 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.131 |
| ab_bat_speed_avg | 82.4 |
| ab_swing_length_avg | 7.5 |
| ab_launch_speed_max | 88.0 |
| ab_hit_distance_sc_max | 276.0 |
| ab_release_speed_max | 92.5 |
| ab_release_spin_rate_max | 2756.0 |
| ab_release_speed_min | 82.8 |
| ab_release_spin_rate_min | 2515.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.262 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.146 | 0.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 3.360 | 3.000 | 3.000 | Hitting_AB | 3.320 | 4.000 | -0.320 | -1.000 |
| predicted_AVG | 0.151 | 0.000 | 0.333 | Hitting_AVG | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_BB | 0.317 | 1.000 | 0.000 | Hitting_BB | 0.361 | 0.000 | 0.639 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.510 | 0.000 | 1.000 | Hitting_H | 0.585 | 0.000 | -0.585 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.256 | 0.250 | 0.333 | Hitting_OBP | 0.281 | 0.000 | -0.031 | 0.250 |
| predicted_R | 0.268 | 0.000 | 0.000 | Hitting_R | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.347 | 0.000 | -0.347 | 0.000 |
| predicted_SLG | 0.281 | 0.000 | 0.333 | Hitting_SLG | 0.328 | 0.000 | -0.328 | 0.000 |
| predicted_SO | 1.024 | 1.000 | 1.000 | Hitting_SO | 1.054 | 2.000 | -0.054 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3170 -> 1.0000 (boost 0.6830, 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 | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2566 -> 0.2268 (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 | 0 | 8 | 1 | 7 | - | predicted_H: 0.5124 -> 0.0000 (deboost -0.5124, worse) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.152 HR/AB=0.023 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2900 -> 0.0000 (deboost -0.2900, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1545 -> 0.3330 (boost 0.1785, 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.1545 (deboost -0.1785, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643376",
"player_name": "Danny Jansen",
"position": "C",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.146,
"predicted_3B": 0.024,
"predicted_AB": 3.36,
"predicted_AVG": 0.151,
"predicted_BB": 0.317,
"predicted_H": 0.51,
"predicted_HR": 0.08,
"predicted_OBP": 0.256,
"predicted_R": 0.268,
"predicted_RBI": 0.34,
"predicted_SLG": 0.281,
"predicted_SO": 1.024
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1484,
"predicted_3B": 0.0204,
"predicted_AB": 3.3168,
"predicted_AVG": 0.1549,
"predicted_BB": 0.3118,
"predicted_H": 0.5152,
"predicted_HBP": 0.118,
"predicted_HR": 0.0784,
"predicted_OBP": 0.2566,
"predicted_R": 0.2932,
"predicted_RBI": 0.3404,
"predicted_SLG": 0.2832,
"predicted_SO": 1.0604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.1484,
"delta": 0.0024,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0204,
"delta": -0.0036,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.36,
"after": 3.3168,
"delta": -0.0432,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.151,
"after": 0.1549,
"delta": 0.0039,
"percent_delta": 0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.3118,
"delta": -0.0052,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.51,
"after": 0.5152,
"delta": 0.0052,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0784,
"delta": -0.0016,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2566,
"delta": 0.0006,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 0.2932,
"delta": 0.0252,
"percent_delta": 0.094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3404,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.281,
"after": 0.2832,
"delta": 0.0022,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 1.0604,
"delta": 0.0364,
"percent_delta": 0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 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.1484,
"predicted_3B": 0.0204,
"predicted_AB": 3.3168,
"predicted_AVG": 0.1545,
"predicted_BB": 0.3101,
"predicted_H": 0.5124,
"predicted_HBP": 0.118,
"predicted_HR": 0.0782,
"predicted_OBP": 0.2268,
"predicted_R": 0.29,
"predicted_RBI": 0.3367,
"predicted_SLG": 0.2822,
"predicted_SO": 1.066
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1484,
"after": 0.1484,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0204,
"after": 0.0204,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3168,
"after": 3.3168,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1549,
"after": 0.1545,
"delta": -0.0004,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3118,
"after": 0.3101,
"delta": -0.0017,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5152,
"after": 0.5124,
"delta": -0.0028,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0784,
"after": 0.0782,
"delta": -0.0002,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2566,
"after": 0.2268,
"delta": -0.0298,
"percent_delta": -0.1161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2932,
"after": 0.29,
"delta": -0.0032,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3404,
"after": 0.3367,
"delta": -0.0037,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2832,
"after": 0.2822,
"delta": -0.001,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0604,
"after": 1.066,
"delta": 0.0056,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2566,
"after": 0.2268,
"delta": -0.0298,
"percent_delta": -0.1161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.36), rates preserved: AVG=0.152 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.1484,
"after": 0.0,
"delta": -0.1484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0204,
"after": 0.0,
"delta": -0.0204,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3168,
"after": 3.0,
"delta": -0.3168,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3101,
"after": 0.0,
"delta": -0.3101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5124,
"after": 0.0,
"delta": -0.5124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0782,
"after": 0.0,
"delta": -0.0782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3367,
"after": 0.0,
"delta": -0.3367,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.066,
"after": 1.0,
"delta": -0.066,
"percent_delta": -0.0619,
"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.5124,
"after": 0.0,
"delta": -0.5124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1545,
"after": 0.333,
"delta": 0.1785,
"percent_delta": 1.1553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2268,
"after": 0.333,
"delta": 0.1062,
"percent_delta": 0.4683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2822,
"after": 0.333,
"delta": 0.0508,
"percent_delta": 0.18,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1545,
"after": 0.333,
"delta": 0.1785,
"percent_delta": 1.1553,
"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.1545,
"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.2268,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2822,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1545,
"delta": -0.1785,
"percent_delta": -0.5361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2268,
"delta": -0.1062,
"percent_delta": -0.319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2822,
"delta": -0.0508,
"percent_delta": -0.1524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1545,
"delta": -0.1785,
"percent_delta": -0.5361,
"direction": "deboost",
"projection_effect": "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.36,
"after": 3.0,
"delta": -0.36,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.151,
"after": 0.1545,
"delta": 0.0035,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 1.0,
"delta": 0.683,
"percent_delta": 2.1546,
"direction": "boost",
"projection_effect": "better",
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2268,
"delta": -0.0292,
"percent_delta": -0.1141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 0.0,
"delta": -0.268,
"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.281,
"after": 0.2822,
"delta": 0.0012,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 1.0,
"delta": -0.024,
"percent_delta": -0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.317,
"after": 1.0,
"delta": 0.683,
"percent_delta": 2.1546,
"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.146 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.360 | - |
| predicted_AVG | 0.151 | - |
| predicted_BB | 0.317 | - |
| predicted_H | 0.510 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.256 | - |
| predicted_R | 0.268 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.281 | - |
| predicted_SO | 1.024 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.002 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.317 | -0.043 |
| predicted_AVG | 0.155 | 0.004 |
| predicted_BB | 0.312 | -0.005 |
| predicted_H | 0.515 | 0.005 |
| predicted_HBP | 0.118 | - |
| predicted_HR | 0.078 | -0.002 |
| predicted_OBP | 0.257 | 0.001 |
| predicted_R | 0.293 | 0.025 |
| predicted_RBI | 0.340 | 0.000 |
| predicted_SLG | 0.283 | 0.002 |
| predicted_SO | 1.060 | 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.148 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.317 | 0.000 |
| predicted_AVG | 0.154 | -0.000 |
| predicted_BB | 0.310 | -0.002 |
| predicted_H | 0.512 | -0.003 |
| predicted_HBP | 0.118 | 0.000 |
| predicted_HR | 0.078 | -0.000 |
| predicted_OBP | 0.227 | -0.030 |
| predicted_R | 0.290 | -0.003 |
| predicted_RBI | 0.337 | -0.004 |
| predicted_SLG | 0.282 | -0.001 |
| predicted_SO | 1.066 | 0.006 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.152 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 | 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.148 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 3.000 | -0.317 |
| predicted_AVG | 0.333 | 0.179 |
| predicted_BB | 0.000 | -0.310 |
| predicted_H | 1.000 | 0.488 |
| predicted_HR | 0.000 | -0.078 |
| predicted_OBP | 0.333 | 0.106 |
| predicted_R | 0.000 | -0.290 |
| predicted_RBI | 0.000 | -0.337 |
| predicted_SLG | 0.333 | 0.051 |
| predicted_SO | 1.000 | -0.066 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 7.000 | 0.1176 | 0.2500 | 0.1765 | 0.1177 | 0.0000 | 0.1177 | 0.1177 | 0.4118 |
| last_10 | 0.20 | 10 | - | 30.000 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 13.000 | 0.1000 | 0.1818 | 0.2333 | 0.1000 | 0.0333 | 0.1000 | 0.0667 | 0.4333 |
| season | 0.60 | 41 | - | 127.000 | 21.000 | 6.000 | 1.000 | 3.000 | 12.000 | 11.000 | 13.000 | 42.000 | 0.1654 | 0.2690 | 0.2992 | 0.1653 | 0.0236 | 0.0945 | 0.1024 | 0.3307 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1520 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.2520 |
| predicted_AVG | 0.1608 |
| predicted_BB | 0.3040 |
| predicted_H | 0.5230 |
| predicted_HBP | 0.1180 |
| predicted_HR | 0.0760 |
| predicted_OBP | 0.2576 |
| predicted_R | 0.3310 |
| predicted_RBI | 0.3410 |
| predicted_SLG | 0.2866 |
| predicted_SO | 1.1150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1460 | 0.1520 | 0.1484 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0204 | model_form_blend |
| predicted_AB | 3.3600 | 3.2520 | 3.3168 | model_form_blend |
| predicted_AVG | 0.1510 | 0.1608 | 0.1549 | model_form_blend |
| predicted_BB | 0.3170 | 0.3040 | 0.3118 | model_form_blend |
| predicted_H | 0.5100 | 0.5230 | 0.5152 | model_form_blend |
| predicted_HBP | - | 0.1180 | 0.1180 | form_only |
| predicted_HR | 0.0800 | 0.0760 | 0.0784 | model_form_blend |
| predicted_OBP | 0.2560 | 0.2576 | 0.2566 | model_form_blend |
| predicted_R | 0.2680 | 0.3310 | 0.2932 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3410 | 0.3404 | model_form_blend |
| predicted_SLG | 0.2810 | 0.2866 | 0.2832 | model_form_blend |
| predicted_SO | 1.0240 | 1.1150 | 1.0604 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 147 |
| Season rows before report date | 147 |
| Report year | 2026 |
| Profile rows used | 41 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.165 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260818_WAS@TEX |
| game_type | full |
| mlbID | 643376 |
| playerID | 643376 |
| playerName | Danny Jansen |
| pos | C |
| started | True |
| startingPosition | C |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-18 |
| game_pk | 822859.0 |
| sl_k_percent | 28.8 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.261 |
| sl_xwoba | 0.249 |
| sl_xba | 0.165 |
| sl_xslg | 0.267 |
| sl_sweet_spot_percent | 22.1 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 32.6 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 22.8 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 44.7 |
| at_bat_number | 59.0 |
| ab_pitcher | 592866.0 |
| ab_pitcher_name | Williams, Trevor |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 677649.0 |
| ab_on_2b_start | 607043.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 0.0 |
| ab_event | strikeout |
| ab_event_description | Danny Jansen called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 6.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 5.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 86.83333333333333 |
| ab_release_spin_rate_avg | 2310.6666666666665 |
| ab_effective_speed_avg | 87.3 |
| ab_delta_run_exp_avg | -0.0943333333333333 |
| ab_delta_home_win_exp_avg | -0.001 |
| ab_delta_pitcher_run_exp_avg | 0.0943333333333333 |
| ab_bat_speed_avg | 70.6 |
| ab_swing_length_avg | 6.8 |
| ab_release_speed_max | 91.1 |
| ab_release_spin_rate_max | 2362.0 |
| ab_release_speed_min | 78.9 |
| ab_release_spin_rate_min | 2229.0 |
| ab_delta_run_exp_sum | -0.283 |
| ab_delta_home_win_exp_sum | -0.003 |
| ab_delta_pitcher_run_exp_sum | 0.283 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.867 | 1.000 | 1.133 | 3.000 |
| predicted_AVG | 0.269 | 0.000 | 0.333 | Hitting_AVG | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_BB | 0.288 | 0.000 | 0.000 | Hitting_BB | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_H | 0.240 | 0.000 | 1.000 | Hitting_H | 0.933 | 0.000 | -0.933 | 0.000 |
| predicted_HR | 0.010 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.289 | 0.000 | 0.333 | Hitting_OBP | 0.408 | 0.000 | -0.408 | 0.000 |
| predicted_R | 0.096 | 0.000 | 0.000 | Hitting_R | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_SLG | 0.290 | 0.000 | 0.333 | Hitting_SLG | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_SO | 0.673 | 0.000 | 1.000 | Hitting_SO | 0.767 | 0.000 | -0.767 | 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: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_SO: 0.6730 -> 0.0000 (deboost -0.6730, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_AB: 2.5000 -> 2.6696 (boost 0.1696, 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.3054 -> 0.1875 (deboost -0.1179, 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.6696 -> 3.0000 (boost 0.3304, better) | predicted_H: 0.4050 -> 0.0000 (deboost -0.4050, worse) | AB rounded to 3 (raw=2.67), rates preserved: AVG=0.152 HR/AB=0.009 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.1415 -> 0.0000 (deboost -0.1415, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1517 -> 0.3330 (boost 0.1813, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1517 (deboost -0.1813, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683227",
"player_name": "Cody Freeman",
"position": "3B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.269,
"predicted_BB": 0.288,
"predicted_H": 0.24,
"predicted_HR": 0.01,
"predicted_OBP": 0.289,
"predicted_R": 0.096,
"predicted_RBI": 0.14,
"predicted_SLG": 0.29,
"predicted_SO": 0.673
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0223,
"predicted_3B": 0.0018,
"predicted_AB": 2.6696,
"predicted_AVG": 0.2662,
"predicted_BB": 0.2946,
"predicted_H": 0.4072,
"predicted_HBP": 0.013,
"predicted_HR": 0.0233,
"predicted_OBP": 0.3016,
"predicted_R": 0.143,
"predicted_RBI": 0.1807,
"predicted_SLG": 0.3054,
"predicted_SO": 0.689
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0223,
"delta": 0.0223,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0018,
"delta": 0.0018,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6696,
"delta": 0.1696,
"percent_delta": 0.0678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2662,
"delta": -0.0028,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.2946,
"delta": 0.0066,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.4072,
"delta": 0.1672,
"percent_delta": 0.6967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.01,
"after": 0.0233,
"delta": 0.0133,
"percent_delta": 1.33,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.3016,
"delta": 0.0126,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.096,
"after": 0.143,
"delta": 0.047,
"percent_delta": 0.4896,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.1807,
"delta": 0.0407,
"percent_delta": 0.2907,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.29,
"after": 0.3054,
"delta": 0.0154,
"percent_delta": 0.0531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 0.689,
"delta": 0.016,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6696,
"delta": 0.1696,
"percent_delta": 0.0678,
"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": 11
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0223,
"predicted_3B": 0.0018,
"predicted_AB": 2.6696,
"predicted_AVG": 0.1517,
"predicted_BB": 0.293,
"predicted_H": 0.405,
"predicted_HBP": 0.013,
"predicted_HR": 0.0232,
"predicted_OBP": 0.2356,
"predicted_R": 0.1415,
"predicted_RBI": 0.1787,
"predicted_SLG": 0.1875,
"predicted_SO": 0.6927
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0223,
"after": 0.0223,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6696,
"after": 2.6696,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2662,
"after": 0.1517,
"delta": -0.1145,
"percent_delta": -0.4301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2946,
"after": 0.293,
"delta": -0.0016,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4072,
"after": 0.405,
"delta": -0.0022,
"percent_delta": -0.0054,
"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.0233,
"after": 0.0232,
"delta": -0.0001,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3016,
"after": 0.2356,
"delta": -0.066,
"percent_delta": -0.2188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.143,
"after": 0.1415,
"delta": -0.0015,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1807,
"after": 0.1787,
"delta": -0.002,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3054,
"after": 0.1875,
"delta": -0.1179,
"percent_delta": -0.3861,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.689,
"after": 0.6927,
"delta": 0.0037,
"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.3054,
"after": 0.1875,
"delta": -0.1179,
"percent_delta": -0.3861,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.152 HR/AB=0.009",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0223,
"after": 0.0,
"delta": -0.0223,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0,
"delta": -0.0018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6696,
"after": 3.0,
"delta": 0.3304,
"percent_delta": 0.1238,
"direction": "boost",
"projection_effect": "better",
"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.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0232,
"after": 0.0,
"delta": -0.0232,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1787,
"after": 0.0,
"delta": -0.1787,
"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": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6696,
"after": 3.0,
"delta": 0.3304,
"percent_delta": 0.1238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.1415,
"after": 0.0,
"delta": -0.1415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.1415,
"after": 0.0,
"delta": -0.1415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1517,
"after": 0.333,
"delta": 0.1813,
"percent_delta": 1.1951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2356,
"after": 0.333,
"delta": 0.0974,
"percent_delta": 0.4134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.1875,
"after": 0.333,
"delta": 0.1455,
"percent_delta": 0.776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1517,
"after": 0.333,
"delta": 0.1813,
"percent_delta": 1.1951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1517,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2356,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1875,
"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.1517,
"delta": -0.1813,
"percent_delta": -0.5445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2356,
"delta": -0.0974,
"percent_delta": -0.2925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.1875,
"delta": -0.1455,
"percent_delta": -0.4369,
"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.1517,
"delta": -0.1813,
"percent_delta": -0.5445,
"direction": "deboost",
"projection_effect": "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.269,
"after": 0.1517,
"delta": -0.1173,
"percent_delta": -0.4361,
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2356,
"delta": -0.0534,
"percent_delta": -0.1848,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.29,
"after": 0.1875,
"delta": -0.1025,
"percent_delta": -0.3534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 0.0,
"delta": -0.673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"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_SO",
"before": 0.673,
"after": 0.0,
"delta": -0.673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.269 | - |
| predicted_BB | 0.288 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.010 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.096 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.290 | - |
| predicted_SO | 0.673 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.022 | 0.022 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.670 | 0.170 |
| predicted_AVG | 0.266 | -0.003 |
| predicted_BB | 0.295 | 0.007 |
| predicted_H | 0.407 | 0.167 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.023 | 0.013 |
| predicted_OBP | 0.302 | 0.013 |
| predicted_R | 0.143 | 0.047 |
| predicted_RBI | 0.181 | 0.041 |
| predicted_SLG | 0.305 | 0.015 |
| predicted_SO | 0.689 | 0.016 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.022 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.670 | 0.000 |
| predicted_AVG | 0.152 | -0.114 |
| predicted_BB | 0.293 | -0.002 |
| predicted_H | 0.405 | -0.002 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.023 | -0.000 |
| predicted_OBP | 0.236 | -0.066 |
| predicted_R | 0.141 | -0.002 |
| predicted_RBI | 0.179 | -0.002 |
| predicted_SLG | 0.188 | -0.118 |
| predicted_SO | 0.693 | 0.004 |
AB rounded to 3 (raw=2.67), rates preserved: AVG=0.152 HR/AB=0.009
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.022 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.330 |
| predicted_AVG | 0.333 | 0.181 |
| predicted_BB | 0.000 | -0.293 |
| predicted_H | 1.000 | 0.595 |
| predicted_HR | 0.000 | -0.023 |
| predicted_OBP | 0.333 | 0.097 |
| predicted_R | 0.000 | -0.141 |
| predicted_RBI | 0.000 | -0.179 |
| predicted_SLG | 0.333 | 0.146 |
| predicted_SO | 1.000 | 0.307 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 10.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 2.000 | 0.3000 | 0.4167 | 0.3000 | 0.3000 | 0.0000 | 0.1000 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 24.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 6.000 | 0.2500 | 0.3333 | 0.2500 | 0.2500 | 0.0000 | 0.0417 | 0.1250 | 0.2500 |
| season | 0.60 | 11 | - | 26.000 | 7.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 7.000 | 0.2692 | 0.3448 | 0.2692 | 0.2692 | 0.0000 | 0.0385 | 0.1154 | 0.2692 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0740 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.0630 |
| predicted_AVG | 0.2596 |
| predicted_BB | 0.3100 |
| predicted_H | 0.7950 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0540 |
| predicted_OBP | 0.3307 |
| predicted_R | 0.2520 |
| predicted_RBI | 0.2750 |
| predicted_SLG | 0.3410 |
| predicted_SO | 0.7260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0740 | 0.0223 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0018 | model_form_blend |
| predicted_AB | 2.5000 | 3.0630 | 2.6696 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2596 | 0.2662 | model_form_blend |
| predicted_BB | 0.2880 | 0.3100 | 0.2946 | model_form_blend |
| predicted_H | 0.2400 | 0.7950 | 0.4072 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0100 | 0.0540 | 0.0233 | model_form_blend |
| predicted_OBP | 0.2890 | 0.3307 | 0.3016 | model_form_blend |
| predicted_R | 0.0960 | 0.2520 | 0.1430 | model_form_blend |
| predicted_RBI | 0.1400 | 0.2750 | 0.1807 | model_form_blend |
| predicted_SLG | 0.2900 | 0.3410 | 0.3054 | model_form_blend |
| predicted_SO | 0.6730 | 0.7260 | 0.6890 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 11 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-3B |
| gameID | 20260819_WAS@TEX |
| game_type | ph |
| mlbID | 683227 |
| note | Popped out for Carter in the 7th. |
| playerID | 683227 |
| playerName | Cody Freeman |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.287 |
| sl_xwoba | 0.187 |
| sl_xba | 0.138 |
| sl_xslg | 0.156 |
| sl_sweet_spot_percent | 20.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 15.0 |
| sl_exit_velocity_avg | 81.4 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 43.4 |
| at_bat_number | 57.0 |
| ab_pitcher | 702021.0 |
| ab_pitcher_name | Dion, Will |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 6.0 |
| ab_event | field_out |
| ab_event_description | Cody Freeman pops out to catcher Keibert Ruiz in foul territory. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 76.2 |
| ab_launch_angle_last | 87.0 |
| ab_hit_distance_last | 40.0 |
| ab_estimated_ba_last | 0.003 |
| ab_estimated_woba_last | 0.003 |
| ab_estimated_slg_last | 0.004 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 6.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 82.75 |
| ab_release_spin_rate_avg | 1851.5 |
| ab_effective_speed_avg | 82.55 |
| ab_launch_speed_avg | 76.2 |
| ab_launch_angle_avg | 87.0 |
| ab_delta_run_exp_avg | -0.131 |
| ab_delta_home_win_exp_avg | -0.002 |
| ab_delta_pitcher_run_exp_avg | 0.131 |
| ab_bat_speed_avg | 69.6 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 76.2 |
| ab_hit_distance_sc_max | 40.0 |
| ab_release_speed_max | 90.3 |
| ab_release_spin_rate_max | 2273.0 |
| ab_release_speed_min | 75.2 |
| ab_release_spin_rate_min | 1430.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.004 |
| ab_delta_pitcher_run_exp_sum | 0.262 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.103 | 0.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 2.869 | 2.000 | 3.000 | Hitting_AB | 3.141 | 2.000 | -1.141 | 0.000 |
| predicted_AVG | 0.227 | 0.000 | 0.333 | Hitting_AVG | 0.205 | 0.500 | -0.205 | -0.500 |
| predicted_BB | 0.374 | 1.000 | 0.000 | Hitting_BB | 0.460 | 0.000 | 0.540 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.600 | 0.000 | 1.000 | Hitting_H | 0.643 | 1.000 | -0.643 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.299 | 0.333 | 0.333 | Hitting_OBP | 0.313 | 0.500 | 0.020 | -0.167 |
| predicted_R | 0.374 | 0.000 | 0.000 | Hitting_R | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_RBI | 0.210 | 0.000 | 0.000 | Hitting_RBI | 0.327 | 0.000 | -0.327 | 0.000 |
| predicted_SLG | 0.352 | 0.000 | 0.333 | Hitting_SLG | 0.339 | 0.500 | -0.339 | -0.500 |
| predicted_SO | 0.813 | 0.000 | 1.000 | Hitting_SO | 0.867 | 1.000 | -0.867 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.3740 -> 1.0000 (boost 0.6260, better) |
| Biggest Deboost | predicted_AB: 2.8690 -> 2.0000 (deboost -0.8690, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 1 | 4 | predicted_AB: 2.8690 -> 2.9523 (boost 0.0833, better) | predicted_BB: 0.3740 -> 0.3155 (deboost -0.0585, worse) | Final model input calibrated with local 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.3403 -> 0.3157 (deboost -0.0246, 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.6124 -> 1.0000 (boost 0.3876, better) | predicted_BB: 0.3138 -> 0.0000 (deboost -0.3138, worse) | AB rounded to 3 (raw=2.95), rates preserved: AVG=0.207 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3484 -> 0.0000 (deboost -0.3484, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2074 -> 0.3330 (boost 0.1256, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2074 (deboost -0.1256, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694497",
"player_name": "Evan Carter",
"position": "CF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.103,
"predicted_3B": 0.019,
"predicted_AB": 2.869,
"predicted_AVG": 0.227,
"predicted_BB": 0.374,
"predicted_H": 0.6,
"predicted_HR": 0.05,
"predicted_OBP": 0.299,
"predicted_R": 0.374,
"predicted_RBI": 0.21,
"predicted_SLG": 0.352,
"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.1342,
"predicted_3B": 0.016,
"predicted_AB": 2.9523,
"predicted_AVG": 0.2188,
"predicted_BB": 0.3155,
"predicted_H": 0.6158,
"predicted_HBP": 0.024,
"predicted_HR": 0.0513,
"predicted_OBP": 0.2856,
"predicted_R": 0.3522,
"predicted_RBI": 0.2066,
"predicted_SLG": 0.3403,
"predicted_SO": 0.8514
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.1342,
"delta": 0.0312,
"percent_delta": 0.3029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.016,
"delta": -0.003,
"percent_delta": -0.1579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.869,
"after": 2.9523,
"delta": 0.0833,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2188,
"delta": -0.0082,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.374,
"after": 0.3155,
"delta": -0.0585,
"percent_delta": -0.1564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.6158,
"delta": 0.0158,
"percent_delta": 0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0513,
"delta": 0.0013,
"percent_delta": 0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2856,
"delta": -0.0134,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.374,
"after": 0.3522,
"delta": -0.0218,
"percent_delta": -0.0583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.2066,
"delta": -0.0034,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3403,
"delta": -0.0117,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.813,
"after": 0.8514,
"delta": 0.0384,
"percent_delta": 0.0472,
"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.869,
"after": 2.9523,
"delta": 0.0833,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.374,
"after": 0.3155,
"delta": -0.0585,
"percent_delta": -0.1564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 107
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1342,
"predicted_3B": 0.016,
"predicted_AB": 2.9523,
"predicted_AVG": 0.2074,
"predicted_BB": 0.3138,
"predicted_H": 0.6124,
"predicted_HBP": 0.024,
"predicted_HR": 0.0512,
"predicted_OBP": 0.2836,
"predicted_R": 0.3484,
"predicted_RBI": 0.2044,
"predicted_SLG": 0.3157,
"predicted_SO": 0.8559
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1342,
"after": 0.1342,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9523,
"after": 2.9523,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2188,
"after": 0.2074,
"delta": -0.0114,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3155,
"after": 0.3138,
"delta": -0.0017,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6158,
"after": 0.6124,
"delta": -0.0034,
"percent_delta": -0.0055,
"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.0513,
"after": 0.0512,
"delta": -0.0001,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2856,
"after": 0.2836,
"delta": -0.002,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3522,
"after": 0.3484,
"delta": -0.0038,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2066,
"after": 0.2044,
"delta": -0.0022,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3403,
"after": 0.3157,
"delta": -0.0246,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8514,
"after": 0.8559,
"delta": 0.0045,
"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.3403,
"after": 0.3157,
"delta": -0.0246,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.95), rates preserved: AVG=0.207 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.1342,
"after": 0.0,
"delta": -0.1342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9523,
"after": 3.0,
"delta": 0.0477,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3138,
"after": 0.0,
"delta": -0.3138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6124,
"after": 1.0,
"delta": 0.3876,
"percent_delta": 0.6329,
"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.0512,
"after": 0.0,
"delta": -0.0512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2044,
"after": 0.0,
"delta": -0.2044,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8559,
"after": 1.0,
"delta": 0.1441,
"percent_delta": 0.1684,
"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.6124,
"after": 1.0,
"delta": 0.3876,
"percent_delta": 0.6329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3138,
"after": 0.0,
"delta": -0.3138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3484,
"after": 0.0,
"delta": -0.3484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3484,
"after": 0.0,
"delta": -0.3484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.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.2836,
"after": 0.333,
"delta": 0.0494,
"percent_delta": 0.1742,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3157,
"after": 0.333,
"delta": 0.0173,
"percent_delta": 0.0548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2074,
"after": 0.333,
"delta": 0.1256,
"percent_delta": 0.6056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 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": 8,
"step": "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.2074,
"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.2836,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3157,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.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.2836,
"delta": -0.0494,
"percent_delta": -0.1484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3157,
"delta": -0.0173,
"percent_delta": -0.0519,
"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.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.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.869,
"after": 2.0,
"delta": -0.869,
"percent_delta": -0.3029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2074,
"delta": -0.0196,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.374,
"after": 1.0,
"delta": 0.626,
"percent_delta": 1.6738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"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.299,
"after": 0.2836,
"delta": -0.0154,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.374,
"after": 0.0,
"delta": -0.374,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3157,
"delta": -0.0363,
"percent_delta": -0.1031,
"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": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.374,
"after": 1.0,
"delta": 0.626,
"percent_delta": 1.6738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.869,
"after": 2.0,
"delta": -0.869,
"percent_delta": -0.3029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.019 | - |
| predicted_AB | 2.869 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.374 | - |
| predicted_H | 0.600 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.374 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.352 | - |
| 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.134 | 0.031 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 2.952 | 0.083 |
| predicted_AVG | 0.219 | -0.008 |
| predicted_BB | 0.316 | -0.058 |
| predicted_H | 0.616 | 0.016 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.051 | 0.001 |
| predicted_OBP | 0.286 | -0.013 |
| predicted_R | 0.352 | -0.022 |
| predicted_RBI | 0.207 | -0.003 |
| predicted_SLG | 0.340 | -0.012 |
| predicted_SO | 0.851 | 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.134 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 2.952 | 0.000 |
| predicted_AVG | 0.207 | -0.011 |
| predicted_BB | 0.314 | -0.002 |
| predicted_H | 0.612 | -0.003 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.051 | -0.000 |
| predicted_OBP | 0.284 | -0.002 |
| predicted_R | 0.348 | -0.004 |
| predicted_RBI | 0.204 | -0.002 |
| predicted_SLG | 0.316 | -0.025 |
| predicted_SO | 0.856 | 0.004 |
AB rounded to 3 (raw=2.95), rates preserved: AVG=0.207 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.134 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 3.000 | 0.048 |
| predicted_AVG | 0.333 | 0.126 |
| predicted_BB | 0.000 | -0.314 |
| predicted_H | 1.000 | 0.388 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.333 | 0.049 |
| predicted_R | 0.000 | -0.348 |
| predicted_RBI | 0.000 | -0.204 |
| predicted_SLG | 0.333 | 0.017 |
| 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 | 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 | - | 17.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 6.000 | 0.2353 | 0.2353 | 0.3529 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.3529 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 9.000 | 0.2000 | 0.2000 | 0.2667 | 0.2000 | 0.0000 | 0.0000 | 0.0000 | 0.3000 |
| season | 0.60 | 107 | - | 307.000 | 60.000 | 11.000 | 2.000 | 8.000 | 31.000 | 40.000 | 40.000 | 87.000 | 0.1954 | 0.2955 | 0.3225 | 0.1954 | 0.0261 | 0.1010 | 0.1303 | 0.2834 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.0640 |
| predicted_AVG | 0.2077 |
| predicted_BB | 0.2370 |
| predicted_H | 0.6370 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.2676 |
| predicted_R | 0.3230 |
| predicted_RBI | 0.2020 |
| predicted_SLG | 0.3245 |
| predicted_SO | 0.9030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.1760 | 0.1342 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0160 | model_form_blend |
| predicted_AB | 2.8690 | 3.0640 | 2.9523 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2077 | 0.2188 | model_form_blend |
| predicted_BB | 0.3740 | 0.2370 | 0.3155 | model_form_blend |
| predicted_H | 0.6000 | 0.6370 | 0.6158 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0500 | 0.0530 | 0.0513 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2676 | 0.2856 | model_form_blend |
| predicted_R | 0.3740 | 0.3230 | 0.3522 | model_form_blend |
| predicted_RBI | 0.2100 | 0.2020 | 0.2066 | model_form_blend |
| predicted_SLG | 0.3520 | 0.3245 | 0.3403 | model_form_blend |
| predicted_SO | 0.8130 | 0.9030 | 0.8514 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 361 |
| Season rows before report date | 361 |
| Report year | 2026 |
| Profile rows used | 107 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.195 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 694497 |
| playerID | 694497 |
| playerName | Evan Carter |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.283 |
| sl_xwoba | 0.286 |
| sl_xba | 0.202 |
| sl_xslg | 0.325 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 17.8 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 40.2 |
| at_bat_number | 33.0 |
| ab_pitcher | 676917.0 |
| ab_pitcher_name | Cavalli, Cade |
| ab_home_team | TEX |
| ab_away_team | WSH |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 4.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Evan Carter strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | KC |
| ab_pitch_name_last | Knuckle Curve |
| ab_zone_last | 14.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 91.22 |
| ab_release_spin_rate_avg | 2244.2 |
| ab_effective_speed_avg | 90.76 |
| ab_delta_run_exp_avg | -0.0524 |
| ab_delta_home_win_exp_avg | -0.004 |
| ab_delta_pitcher_run_exp_avg | 0.0524 |
| ab_bat_speed_avg | 33.3 |
| ab_swing_length_avg | 6.5 |
| ab_release_speed_max | 96.2 |
| ab_release_spin_rate_max | 2295.0 |
| ab_release_speed_min | 88.1 |
| ab_release_spin_rate_min | 2212.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.02 |
| ab_delta_pitcher_run_exp_sum | 0.262 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | True |
| ab_result_is_hbp | False |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.348 | 1.000 | -1.348 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.304 | 2.000 | -0.304 | 0.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.783 | 6.000 | -1.783 | -3.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.165 | 2.000 | -0.165 | 3.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 6.391 | 3.000 | -2.391 | 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": "594798",
"player_name": "Jacob deGrom",
"position": "Starter",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.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": 0.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": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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 | 0.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 | 20.000 | 14.000 | 30.000 | 9.000 | 25.000 | 1.000 | 6.3000 | 1.9500 | 0.7000 | 1.5000 | 0.4500 | 1.2500 | 0.0500 |
| last_10 | 0.35 | 10 | 50.000 | 28.000 | 55.000 | 16.000 | 63.000 | 4.000 | 5.0400 | 1.4200 | 0.5600 | 1.1000 | 0.3200 | 1.2600 | 0.0800 |
| season | 0.20 | 23 | 120.200 | 53.000 | 110.000 | 31.000 | 147.000 | 17.000 | 3.9530 | 1.1685 | 0.4392 | 0.9116 | 0.2569 | 1.2182 | 0.1409 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7140 |
| predicted_ER | 2.7230 |
| predicted_ERA | 5.2310 |
| predicted_H | 5.5950 |
| predicted_HR | 0.4260 |
| predicted_IP | 4.2000 |
| predicted_SO | 5.5980 |
| predicted_WHIP | 1.5599 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.7140 | 0.9848 | model_form_blend |
| predicted_ER | 2.0000 | 2.7230 | 2.4154 | model_form_blend |
| predicted_ERA | - | 5.2310 | 5.2310 | form_only |
| predicted_H | 3.0000 | 5.5950 | 4.4909 | model_form_blend |
| predicted_HR | 1.0000 | 0.4260 | 0.6702 | model_form_blend |
| predicted_IP | 5.0000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 4.0000 | 5.5980 | 4.9181 | model_form_blend |
| predicted_WHIP | - | 1.5599 | 1.5599 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 4 |
| HR | 1 |
| BF | 18 |
| 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 | 12 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.95 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 53 |
| Pitching_R | 2 |
| Pitching_SO | 3 |
| Pitching_Strikes | 35 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260813_TEX@LAA |
| game_type | full |
| mlbID | 594798 |
| playerID | 594798 |
| playerName | Jacob deGrom |
| pos | P |
| started | True |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-13 |
| game_pk | 823995.0 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.293 |
| sl_xwoba | 0.297 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 45.6 |
| sl_whiff_percent | 33.4 |
| sl_swing_percent | 51.7 |
| sv_pitch_count | 53.0 |
| sv_outs_recorded_est | 5.0 |
| sv_release_speed | 93.66415094339622 |
| sv_release_spin_rate | 2334.943396226415 |
| sv_effective_speed | 94.07358490566035 |
| sv_launch_speed | 82.025 |
| sv_launch_angle | 21.75 |
| sv_woba_value | 6.45 |
| sv_woba_denom | 12.0 |
| sv_delta_run_exp | 1.949 |
| sv_delta_home_win_exp | 0.1129999999999999 |
| sl_avg_best_speed | 80.591895975 |
| sl_avg_hyper_speed | 94.805125818 |
| 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.341 | 1.000 | -0.341 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.591 | 0.000 | -0.591 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.209 | 2.000 | -0.109 | -0.900 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.318 | 2.000 | 0.682 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656641",
"player_name": "Jacob Latz",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.000 | 1.000 | 4.000 | 4.000 | 7.000 | 0.000 | 1.2857 | 1.1429 | 0.1429 | 0.5714 | 0.5714 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 12.100 | 3.000 | 8.000 | 5.000 | 12.000 | 0.000 | 2.1892 | 1.0541 | 0.2432 | 0.6486 | 0.4054 | 0.9730 | 0.0000 |
| season | 0.20 | 43 | 56.000 | 8.000 | 23.000 | 14.000 | 58.000 | 3.000 | 1.2857 | 0.6607 | 0.1429 | 0.4107 | 0.2500 | 1.0357 | 0.0536 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5640 |
| predicted_ER | 0.3700 |
| predicted_ERA | 2.4953 |
| predicted_H | 0.9220 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3120 |
| predicted_WHIP | 1.1148 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5640 | 0.2932 | model_form_blend |
| predicted_ER | 0.0000 | 0.3700 | 0.1923 | model_form_blend |
| predicted_ERA | - | 2.4953 | 2.4953 | form_only |
| predicted_H | 0.0000 | 0.9220 | 0.4793 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0364 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3120 | 1.6424 | model_form_blend |
| predicted_WHIP | - | 1.1148 | 1.1148 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 43 |
| 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 | 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.77 |
| 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 | 2.0 |
| Pitching_Pitches | 36 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 23 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260815_TEX@OAK |
| game_type | full |
| mlbID | 656641 |
| playerID | 656641 |
| playerName | Jacob Latz |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-15 |
| game_pk | 824966.0 |
| sl_k_percent | 28.2 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.193 |
| sl_xwoba | 0.242 |
| sl_sweet_spot_percent | 24.8 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 37.6 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 53.0 |
| sv_pitch_count | 36.0 |
| sv_outs_recorded_est | 5.0 |
| sv_release_speed | 89.90555555555555 |
| sv_release_spin_rate | 2306.1388888888887 |
| sv_effective_speed | 89.43333333333334 |
| sv_launch_speed | 75.5 |
| sv_launch_angle | 42.41666666666666 |
| sv_woba_value | 0.7 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | -0.822 |
| sv_delta_home_win_exp | -0.238 |
| sl_avg_best_speed | 78.411291077 |
| sl_avg_hyper_speed | 93.534851769 |
| 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.372 | 2.000 | -0.372 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.488 | 3.000 | -0.488 | -3.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.093 | 1.000 | -0.093 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.995 | 1.000 | 0.005 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.163 | 0.000 | -1.163 | 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": "682608",
"player_name": "Peyton Gray",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 4.000 | 5.000 | 2.000 | 3.000 | 2.000 | 9.0000 | 1.7500 | 1.0000 | 1.2500 | 0.5000 | 0.7500 | 0.5000 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 10.000 | 4.000 | 8.000 | 4.000 | 5.4000 | 1.4000 | 0.6000 | 1.0000 | 0.4000 | 0.8000 | 0.4000 |
| season | 0.20 | 43 | 49.100 | 21.000 | 47.000 | 16.000 | 50.000 | 7.000 | 3.8311 | 1.2770 | 0.4257 | 0.9527 | 0.3243 | 1.0135 | 0.1419 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3680 |
| predicted_ER | 0.5970 |
| predicted_ERA | 5.9659 |
| predicted_H | 0.9540 |
| predicted_HR | 0.2800 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7790 |
| predicted_WHIP | 1.4674 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3680 | 0.1870 | model_form_blend |
| predicted_ER | 0.0000 | 0.5970 | 0.3034 | model_form_blend |
| predicted_ERA | - | 5.9659 | 5.9659 | form_only |
| predicted_H | 1.0000 | 0.9540 | 0.9766 | model_form_blend |
| predicted_HR | 0.0000 | 0.2800 | 0.1423 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7790 | 0.3958 | model_form_blend |
| predicted_WHIP | - | 1.4674 | 1.4674 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.83 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 27 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260819_WAS@TEX |
| game_type | full |
| mlbID | 682608 |
| playerID | 682608 |
| playerName | Peyton Gray |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-19 |
| game_pk | 822860.0 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.309 |
| sl_xwoba | 0.287 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 32.9 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 49.8 |
| sv_pitch_count | 27.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.2074074074074 |
| sv_release_spin_rate | 2105.0 |
| sv_effective_speed | 88.88888888888889 |
| sv_launch_speed | 82.625 |
| sv_launch_angle | 24.25 |
| sv_woba_value | 3.4 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | 1.1960000000000002 |
| sv_delta_home_win_exp | -0.087 |
| sl_avg_best_speed | 75.003482192 |
| sl_avg_hyper_speed | 92.915064 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.818 | 2.000 | 1.182 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.721 | 0.200 | 0.279 | 0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.788 | 2.000 | 1.212 | 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": "695239",
"player_name": "Robby Ahlstrom",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"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": 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 | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 4.000 | 6.000 | 0.000 | 5.000 | 1.000 | 8.3077 | 1.3846 | 0.9231 | 1.3846 | 0.0000 | 1.1539 | 0.2308 |
| last_10 | 0.35 | 10 | 8.200 | 4.000 | 7.000 | 0.000 | 9.000 | 1.000 | 4.1538 | 0.8077 | 0.4615 | 0.8077 | 0.0000 | 1.0385 | 0.1154 |
| season | 0.20 | 32 | 28.000 | 13.000 | 24.000 | 7.000 | 26.000 | 3.000 | 4.1786 | 1.1071 | 0.4643 | 0.8571 | 0.2500 | 0.9286 | 0.1071 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1990 |
| predicted_ER | 0.5900 |
| predicted_ERA | 5.3089 |
| predicted_H | 1.0280 |
| predicted_HR | 0.1570 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0150 |
| predicted_WHIP | 1.2265 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1990 | 0.0897 | model_form_blend |
| predicted_ER | 0.0000 | 0.5900 | 0.2661 | model_form_blend |
| predicted_ERA | - | 5.3089 | 5.3089 | form_only |
| predicted_H | 2.0000 | 1.0280 | 1.5617 | model_form_blend |
| predicted_HR | 0.0000 | 0.1570 | 0.0708 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0150 | 1.5558 | model_form_blend |
| predicted_WHIP | - | 1.2265 | 1.2265 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.82 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260818_WAS@TEX |
| game_type | full |
| mlbID | 695239 |
| playerID | 695239 |
| playerName | Robby Ahlstrom |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-18 |
| game_pk | 822859.0 |
| sl_k_percent | 22.0 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.311 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 49.0 |
| sv_pitch_count | 17.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 88.76470588235294 |
| sv_release_spin_rate | 1808.2941176470588 |
| sv_effective_speed | 88.29411764705883 |
| sv_launch_speed | 88.39999999999999 |
| sv_launch_angle | 41.833333333333336 |
| sv_woba_value | 2.15 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.7740000000000001 |
| sv_delta_home_win_exp | 0.0 |
| sl_avg_best_speed | 74.19773425 |
| sl_avg_hyper_speed | 92.777011875 |
| 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 | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.333 | 0.000 | 2.667 | 3.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 0.667 | 0.000 | 3.333 | 4.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.733 | 1.000 | -0.533 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.778 | 0.000 | 0.222 | 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": "681217",
"player_name": "Chase Silseth",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 4.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": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 3.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 3.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 2.000 | 2.000 | 4.000 | 1.000 | 2.2500 | 1.0000 | 0.2500 | 0.5000 | 0.5000 | 1.0000 | 0.2500 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 6.000 | 7.000 | 8.000 | 2.000 | 3.0000 | 1.4444 | 0.3333 | 0.6667 | 0.7778 | 0.8889 | 0.2222 |
| season | 0.20 | 56 | 47.200 | 15.000 | 40.000 | 28.000 | 55.000 | 5.000 | 2.8322 | 1.4266 | 0.3147 | 0.8392 | 0.5874 | 1.1539 | 0.1049 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4160 |
| predicted_ER | 0.2860 |
| predicted_ERA | 3.2722 |
| predicted_H | 0.5860 |
| predicted_HR | 0.1490 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7700 |
| predicted_WHIP | 1.2742 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4160 | 0.2100 | model_form_blend |
| predicted_ER | 3.0000 | 0.2860 | 1.6298 | model_form_blend |
| predicted_ERA | - | 3.2722 | 3.2722 | form_only |
| predicted_H | 4.0000 | 0.5860 | 2.2764 | model_form_blend |
| predicted_HR | 0.0000 | 0.1490 | 0.0752 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7700 | 0.8839 | model_form_blend |
| predicted_WHIP | - | 1.2742 | 1.2742 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 9 |
| Season rows before report date | 9 |
| Report year | 2026 |
| Profile rows used | 56 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 12 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260816_TEX@OAK |
| game_type | full |
| mlbID | 681217 |
| playerID | 681217 |
| playerName | Chase Silseth |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-16 |
| game_pk | 824965.0 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.308 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 41.6 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 32.0 |
| sl_whiff_percent | 32.0 |
| sl_swing_percent | 47.5 |
| sv_pitch_count | 15.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.59333333333333 |
| sv_release_spin_rate | 2448.733333333333 |
| sv_effective_speed | 87.69333333333334 |
| sv_launch_speed | 74.45 |
| sv_launch_angle | 23.83333333333333 |
| sv_woba_value | 0.7 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.4609999999999999 |
| sv_delta_home_win_exp | -0.067 |
| sl_avg_best_speed | 75.094382787 |
| sl_avg_hyper_speed | 93.374363197 |