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 | CHC 5 - 3 SEA | CHC | 0.673 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CHC 5 - 3 SEA | CHC | - | organic_simulation_realized_target | 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.7856; empirical=0.5484; weight=0.4650; final=0.6753 |
| P1 | H2H margin as base feature | unavailable / legacy artifact | home net=0; abs=-; home delta=0; away delta=0 |
| 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=-1.3047; recent edge=-0.6240; 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.6732 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_simulation_realized_target |
| 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.074 | 4.223 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 3 | 0.6732 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 5 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 3 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 3 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 5 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.47527964391691396,
"base_low_score_probability": 0.43224530168150344,
"low_score_signal_threshold": 0.5122453016815034,
"low_score_signal_strength": 0.04303434223541053,
"confidence": 0.64978,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.09956
},
"prediction": "normal_scoring",
"expected_total_runs": 8,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 8,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_never_clamp_v2",
"sample_size": 93,
"near_bucket_sample_size": 93,
"medium_bucket_sample_size": 189,
"wide_bucket_sample_size": 265,
"global_sample_size": 606,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5484,
"bayesian_hit_rate": 0.5405,
"prior_strength": 18.0,
"raw_pick_probability": 0.6971,
"raw_pick_probability_unclamped": 0.6971,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.3029,
"margin_implied_pick_probability": 0.6971,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.6971,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.302918,
"uncapped_away_win_probability": 0.697082,
"calibrated_pick_probability": 0.6763,
"predicted_side": "away",
"reliability": 0.837838,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.894595
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.78562,
"sample_size": 93,
"empirical_hit_rate": 0.5484,
"empirical_weight": 0.465,
"blended_confidence": 0.675313,
"published_confidence": 0.673154,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": false,
"sample_size": 0,
"home_net_margin": 0.0,
"home_average_margin": 0.0,
"home_run_delta": 0.0,
"away_run_delta": 0.0,
"evidence": []
}{
"applied": true,
"home": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.46875,
"runs_scored": 500,
"runs_allowed": 546,
"run_differential": -46,
"run_differential_per_game": -0.359375,
"available": true
},
"away": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.578125,
"runs_scored": 656,
"runs_allowed": 556,
"run_differential": 100,
"run_differential_per_game": 0.78125,
"available": true
},
"run_differential_edge_per_game": -1.1406,
"win_pct_edge": -0.1094,
"quality_edge": -1.0664,
"season_quality_edge": -1.3047,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": -1.3047,
"recent_quality_edge": -0.624,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": -1.0664
},
"margin_adjustment": -0.4479,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": -0.4479,
"cap": 1.4,
"scale": 0.42,
"quality_edge": -1.0664,
"season_quality_edge": -1.3047,
"recent_alignment": "aligned",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 4.566,
"home_runs": 3.806,
"home_win_probability": 0.4354
}
}{
"most_likely": [
{
"home_runs": 3,
"away_runs": 5,
"probability": 0.029530894880596636
},
{
"home_runs": 2,
"away_runs": 5,
"probability": 0.029241168829287092
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.028234628118003306
},
{
"home_runs": 2,
"away_runs": 4,
"probability": 0.02795761967149675
},
{
"home_runs": 3,
"away_runs": 6,
"probability": 0.027265434510265574
}
],
"home_distribution": {
"0": 0.09668053145082195,
"1": 0.1573122078898399,
"2": 0.2016578185524669,
"3": 0.2036558756009384,
"4": 0.16203471316679238,
"5": 0.10156601805944791,
"6": 0.05015543812531586,
"7": 0.019512677731958413,
"8": 0.005980602751026552,
"9": 0.0014441166713917897
},
"away_distribution": {
"0": 0.03329045892587941,
"1": 0.05733887911862916,
"2": 0.08718060839841399,
"3": 0.11701239585275534,
"4": 0.13863890759198508,
"5": 0.14500389342295295,
"6": 0.1338799306909854,
"7": 0.10911703939726831,
"8": 0.07850746404315309,
"9": 0.04986210439082244,
"10": 0.02795577510107465,
"11": 0.013836101908886778,
"12": 0.006045013094866051,
"13": 0.0023314280623272688
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "CHC",
"opponent_team": "SEA",
"prediction_memory": {
"available": false,
"reason": "no_verified_prior_matchup_predictions",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 0,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": []
},
"guardrail_predicted_team": "CHC",
"guardrail_opponent_team": "SEA",
"output_pre_simulation_winner": "CHC",
"output_opponent_team": "SEA",
"simulation_score_winner": "CHC",
"final_score_winner": "CHC",
"pre_simulation_winner": "CHC",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "CHC 5 - 3 SEA",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "CHC 5 - 3 SEA",
"winner": "CHC"
},
"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.1851,
"recent_form_edge_home_minus_away": -0.624,
"winner_direction": "away",
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 5,
"home_runs": 3,
"winner": "CHC",
"model_winner": "CHC",
"simulation_winner": "CHC",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 5,
"published_winner": "CHC",
"published_winner_draw_share": 1.0,
"draw_majority_team": "CHC",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 2,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 5,
"home_runs": 3
},
"simulation_score": {
"away_runs": 5,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 1.0664,
"winner": "CHC",
"score_reviewed": {
"away_runs": 5,
"home_runs": 3,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published 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": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.46875,
"runs_scored": 500,
"runs_allowed": 546,
"run_differential": -46,
"run_differential_per_game": -0.359375,
"available": true
},
"away": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.578125,
"runs_scored": 656,
"runs_allowed": 556,
"run_differential": 100,
"run_differential_per_game": 0.78125,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.7603,
"final_margin": -0.7603,
"margin_cap": 2.0,
"season_quality_edge": 1.0664,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.675313,
"final_confidence": 0.6763,
"calibrated_pick_probability": 0.6763,
"shrinkage_weight": 0.894595,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 2.3186,
"calibration_sample_size": 93,
"calibration_empirical_hit_rate": 0.5484,
"calibration_bayesian_hit_rate": 0.5405,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.0664,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 5,
"home_runs": 3
},
"margin": -2,
"probability_before": 0.323692,
"margin_implied_home_probability": 0.33,
"shrinkage_weight": 0.894595,
"side_flipped": false,
"applied": true,
"probability_after": 0.326846,
"aligned_pick_probability": 0.673154
}
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "CHC 5 - 3 SEA",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "CHC 5 - 3 SEA",
"winner": "CHC"
},
"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.1851,
"recent_form_edge_home_minus_away": -0.624,
"winner_direction": "away",
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 5,
"home_runs": 3,
"winner": "CHC",
"model_winner": "CHC",
"simulation_winner": "CHC",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 5,
"published_winner": "CHC",
"published_winner_draw_share": 1.0,
"draw_majority_team": "CHC",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 2,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 5,
"home_runs": 3
},
"simulation_score": {
"away_runs": 5,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 1.0664,
"winner": "CHC",
"score_reviewed": {
"away_runs": 5,
"home_runs": 3,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 3,
"confidence": 0.673154,
"home_win_probability": 0.32684599999999997,
"away_win_probability": 0.673154,
"predicted_score_text": "CHC 5 - 3 SEA",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "CHC",
"original_runs": 5,
"run_delta": 0.1953,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 36.0,
"quality": 0.13577812614338336,
"contact": 0.14073110085204582,
"power": 0.12508693272355967,
"discipline": 0.36022051636298036,
"xwoba": 0.3248888888888889,
"recent_xwoba": 0.3248888888888889,
"barrel": 7.897222222222222,
"ab_hard_contact": 0.11329950103203304,
"ab_bat_speed": 69.8891271313506,
"ab_strikeout_rate": 0.21762472504189406,
"available_players": 9,
"top_players": [
{
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"weight": 6.0,
"quality": 0.6626050119268542,
"contact": 0.6691998454797039,
"power": 1.0477105406984115,
"discipline": 0.14887289117445981,
"xwoba": 0.359,
"recent_xwoba": 0.359,
"barrel": 12.5,
"ab_hard_contact": 0.6134489092063264,
"ab_bat_speed": 72.46488770481311,
"ab_strikeout_rate": 0.2614247311827957,
"available": 1.0
},
{
"player_id": "673548",
"player_name": "Seiya Suzuki",
"position": "RF",
"weight": 4.0,
"quality": 0.23777482340749662,
"contact": 0.16410805221592603,
"power": 0.43710141599501234,
"discipline": 0.28275044834746466,
"xwoba": 0.336,
"recent_xwoba": 0.336,
"barrel": 10.8,
"ab_hard_contact": 0.34164736751928554,
"ab_bat_speed": 71.56121815507096,
"ab_strikeout_rate": 0.259190031152648,
"available": 1.0
},
{
"player_id": "624424",
"player_name": "Michael Conforto",
"position": "DH",
"weight": 3.0,
"quality": 0.11957847524013111,
"contact": -0.16847407314738444,
"power": 0.5489092043634235,
"discipline": -0.02627939116420261,
"xwoba": 0.312,
"recent_xwoba": 0.312,
"barrel": 11.5,
"ab_hard_contact": 0.15246980155417864,
"ab_bat_speed": 71.0893565400844,
"ab_strikeout_rate": 0.31193415637860084,
"available": 1.0
},
{
"player_id": "663538",
"player_name": "Nico Hoerner",
"position": "SS",
"weight": 4.0,
"quality": -0.006272404048338793,
"contact": 0.42058195952177985,
"power": -0.7836440612874715,
"discipline": 0.7476434179757783,
"xwoba": 0.326,
"recent_xwoba": 0.326,
"barrel": 1.1,
"ab_hard_contact": -0.1616431305113511,
"ab_bat_speed": 67.77831580961126,
"ab_strikeout_rate": 0.08879706152433425,
"available": 1.0
},
{
"player_id": "699393",
"player_name": "Pedro Ramirez",
"position": "2B",
"weight": 3.0,
"quality": -0.10251508047411284,
"contact": 0.09483138650088271,
"power": -0.45051348322442586,
"discipline": 0.15049569733192603,
"xwoba": 0.295,
"recent_xwoba": 0.295,
"barrel": 2.8,
"ab_hard_contact": 0.2228731926543282,
"ab_bat_speed": 69.58387428522134,
"ab_strikeout_rate": 0.19273049645390072,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "676106",
"player_name": "Emerson Hancock",
"quality": -0.1091580061757616,
"contact": -0.18851951917929666,
"command": -0.015084656084656135,
"movement": 0.05312874324634316,
"xwoba": 0.308,
"whiff": 23.7,
"faced_est_woba": 0.32900075,
"faced_launch_speed": 86.4608134920635,
"faced_strikeout_rate": 0.10714285714285714,
"faced_run_exp": 0.040455867346938755
}
},
"home": {
"team": "SEA",
"original_runs": 3,
"run_delta": 0.4371,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 36.0,
"quality": 0.18306559222512,
"contact": 0.13091647302441614,
"power": 0.059574041176889386,
"discipline": 0.20892438201527339,
"xwoba": 0.3220277777777778,
"recent_xwoba": 0.3220277777777778,
"barrel": 7.41388888888889,
"ab_hard_contact": 0.19493055898751557,
"ab_bat_speed": 70.30956846759726,
"ab_strikeout_rate": 0.2148950657388075,
"available_players": 9,
"top_players": [
{
"player_id": "686527",
"player_name": "Dominic Canzone",
"position": "RF",
"weight": 3.0,
"quality": 0.7738357358502304,
"contact": 0.807799879878089,
"power": 1.108122912569828,
"discipline": 0.00280395700120481,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 12.5,
"ab_hard_contact": 0.3902677752060759,
"ab_bat_speed": 73.2972612130479,
"ab_strikeout_rate": 0.21620795107033638,
"available": 1.0
},
{
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"weight": 5.0,
"quality": 0.6177162600591951,
"contact": 0.6999826856123896,
"power": 0.7133576777408556,
"discipline": -0.1370106483194363,
"xwoba": 0.351,
"recent_xwoba": 0.351,
"barrel": 9.3,
"ab_hard_contact": 0.826772602436147,
"ab_bat_speed": 75.419988791423,
"ab_strikeout_rate": 0.2161654135338346,
"available": 1.0
},
{
"player_id": "680977",
"player_name": "Brendan Donovan",
"position": "3B",
"weight": 4.0,
"quality": -0.290884816877948,
"contact": -0.2502590922369964,
"power": -0.8970153989891649,
"discipline": 0.6326309556905887,
"xwoba": 0.313,
"recent_xwoba": 0.313,
"barrel": 2.7999999999999994,
"ab_hard_contact": -0.7094508369261465,
"ab_bat_speed": 66.88943571428572,
"ab_strikeout_rate": 0.15666666666666668,
"available": 1.0
},
{
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"weight": 4.0,
"quality": 0.3600638845238762,
"contact": 0.5923358212243212,
"power": 0.3220019335740592,
"discipline": 0.04224596779712632,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 7.4,
"ab_hard_contact": 0.1284196238621223,
"ab_bat_speed": 69.4271574858757,
"ab_strikeout_rate": 0.22048022598870057,
"available": 1.0
},
{
"player_id": "663728",
"player_name": "Cal Raleigh",
"position": "C",
"weight": 4.0,
"quality": -0.29494168660791353,
"contact": -0.9550507894715421,
"power": 0.1490059118788785,
"discipline": 0.0002344753593259835,
"xwoba": 0.291,
"recent_xwoba": 0.291,
"barrel": 12.3,
"ab_hard_contact": 0.2700229994823291,
"ab_bat_speed": 73.07516308661145,
"ab_strikeout_rate": 0.3219202898550725,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "571510",
"player_name": "Matthew Boyd",
"quality": -0.41596677485358524,
"contact": -0.3189323089092002,
"command": -0.38995767195767206,
"movement": -1.1026121768213644,
"xwoba": 0.341,
"whiff": 22.3,
"faced_est_woba": 0.26554733936838626,
"faced_launch_speed": 83.81188821570295,
"faced_strikeout_rate": 0.23519890260631002,
"faced_run_exp": 0.006579622285186518
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 3,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 3,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -1.0664,
"recent_form_edge_home_minus_away": -0.624,
"pitcher_matchup_edge_home_minus_away": -0.1851,
"composite_home_edge": -1.5097,
"existing_home_win_probability": 0.3268,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 1.5097
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.326846,
"uncapped_away_win_probability": 0.673154,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.673154,
"discount_factor": 1.0,
"published_confidence": 0.673154,
"guardrail_confidence_cap": null,
"guardrail_cap_enforced": false,
"applied_discounts": []
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 3,
"predicted_score_text": "CHC 5 - 3 SEA",
"confidence": 0.673154,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "CHC 5 - 3 SEA",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "CHC 5 - 3 SEA",
"winner": "CHC"
},
"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.1851,
"recent_form_edge_home_minus_away": -0.624,
"winner_direction": "away",
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 5,
"home_runs": 3,
"winner": "CHC",
"model_winner": "CHC",
"simulation_winner": "CHC",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 5,
"published_winner": "CHC",
"published_winner_draw_share": 1.0,
"draw_majority_team": "CHC",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 2,
"simulation_margin": 2,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 5,
"home_runs": 3
},
"simulation_score": {
"away_runs": 5,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 2,
"winner_quality_edge": 1.0664,
"winner": "CHC",
"score_reviewed": {
"away_runs": 5,
"home_runs": 3,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "CHC",
"display_confidence": 0.6732,
"internal_signal_score": 0.6989,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.6732,
"confidence_compression_detected": false,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "low_total_lean",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 2,
"winner_quality_edge": 1.0664,
"winner_recent_form_edge": 0.624,
"winner_pitcher_matchup_edge": 0.1851,
"winner_simulation_draw_rate": 1.0,
"blowout_draw_rate_margin_4_plus": 0.2,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.6,
"total_runs_spread": {
"min": 5,
"median": 6,
"max": 8,
"range": 3
}
},
"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 CHC | True | 1.0206 | 1.0206 | 1 | 9 | 0 |
| Home SEA | True | 1.0266 | 1.0266 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Michael Busch | 160 | 1.0298 | 0.3973 | neutral | 0.3310 | 0.2340 | 0.4010 | 8.90 | 39.10 | 88.10 | 15.10 | 25 | 22.20 | 12.40 | 0.0286 |
| CF | Pete Crow-Armstrong | 1 | 1.0710 | 0.9468 | negative_batter_regression | 0.3590 | 0.2510 | 0.4700 | 12.50 | 49 | 90.20 | 21.90 | 27.40 | 27 | 11.90 | -1.0571 |
| RF | Seiya Suzuki | 18 | 1.0361 | 0.4820 | neutral | 0.3360 | 0.2470 | 0.4270 | 10.80 | 38.70 | 88.50 | 18.70 | 24.90 | 25.70 | 12 | -0.8286 |
| SS | Nico Hoerner | 74 | 1.0195 | 0.2601 | neutral | 0.3260 | 0.3010 | 0.3760 | 1.10 | 28.10 | 85.90 | 12.20 | 12 | 8.60 | 7.30 | 0.6000 |
| 3B | Alex Bregman | 28 | 1.0035 | 0.0463 | neutral | 0.3150 | 0.2450 | 0.3670 | 4.60 | 38.20 | 88.40 | 17.10 | 15.40 | 15.60 | 11 | -0.4857 |
| 2B | Pedro Ramirez | 195 | 0.9905 | -0.1273 | negative_batter_regression | 0.2950 | 0.2630 | 0.3480 | 2.80 | 41.30 | 88.90 | 8.90 | 22.80 | 19.70 | 8.60 | -1 |
| LF | Ian Happ | 83 | 1.0076 | 0.1011 | neutral | 0.3080 | 0.2000 | 0.3860 | 11 | 42.10 | 89.30 | 14.70 | 31.30 | 30.60 | 12.60 | -0.3714 |
| DH | Michael Conforto | 298 | 1.0236 | 0.3140 | neutral | 0.3120 | 0.2180 | 0.4030 | 11.50 | 42.30 | 90.80 | 18.50 | 29.30 | 29.80 | 12 | -0.3714 |
| C | Carson Kelly | 144 | 1.0035 | 0.0468 | neutral | 0.3140 | 0.2430 | 0.3770 | 5.40 | 36 | 87.10 | 11.40 | 19.90 | 17.10 | 10.20 | -0.2000 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Dominic Canzone | 76 | 1.0833 | 1.1113 | neutral | 0.3580 | 0.2710 | 0.4870 | 12.50 | 45.30 | 91.20 | 11.50 | 28 | 21 | 9.30 | 0.0286 |
| 3B | Brendan Donovan | 263 | 0.9857 | -0.1912 | negative_batter_regression | 0.3130 | 0.2450 | 0.3400 | 2.80 | 28.20 | 85.60 | 11.20 | 17.40 | 14.90 | 9.70 | -1 |
| DH | Taylor Ward | 88 | 1.0352 | 0.4687 | neutral | 0.3390 | 0.2470 | 0.3720 | 5.70 | 38.20 | 88.80 | 14.60 | 19.40 | 20.70 | 16.30 | 0.4286 |
| CF | Julio Rodríguez | 67 | 1.0752 | 1.0023 | positive_batter_regression | 0.3510 | 0.2740 | 0.4660 | 9.30 | 43 | 90 | 13.90 | 26.90 | 21.10 | 7.90 | 0.8857 |
| 1B | Josh Naylor | 290 | 1.0255 | 0.3400 | neutral | 0.3220 | 0.2760 | 0.3940 | 4.80 | 37.20 | 87.70 | 12.20 | 17.80 | 12.50 | 7.60 | 0.2857 |
| SS | Brock Rodden | 467 | 0.9668 | -0.4422 | negative_batter_regression | 0.2380 | 0.1440 | 0.2330 | 9.10 | 54.50 | 91.50 | 15.90 | 40.50 | 41.70 | 12.50 | -2 |
| LF | Randy Arozarena | 31 | 1.0475 | 0.6339 | neutral | 0.3460 | 0.2620 | 0.4140 | 7.40 | 43.20 | 90.90 | 8.80 | 26.50 | 21.30 | 9.30 | -0.4000 |
| 2B | Cole Young | 24 | 1.0235 | 0.3136 | neutral | 0.3210 | 0.2690 | 0.4020 | 4.70 | 38.40 | 88.60 | 14 | 18.90 | 16.90 | 6.40 | 0.2286 |
| C | Cal Raleigh | 590 | 0.9971 | -0.0391 | neutral | 0.2910 | 0.1730 | 0.3530 | 12.30 | 35.40 | 89.10 | 25.90 | 31.40 | 31.90 | 13.30 | 0.8286 |
{
"home": {
"applied": true,
"offense_factor": 1.0266,
"raw_average_factor": 1.0266,
"team_espn_average_rank": 210.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "686527",
"player_name": "Dominic Canzone",
"offense_factor": 1.0833,
"quality_score": 1.1113,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686527",
"espn_id": 4345621,
"player_name": "Dominic Canzone",
"team": "SEA",
"role": "batter",
"espn_rank": 76,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 76,
"gp_value": 113.0,
"gp_rank": 117,
"ab_value": 344.0,
"ab_rank": 146,
"r_value": 45.0,
"r_rank": 153,
"h_value": 90.0,
"h_rank": 131,
"avg_value": 0.2616279,
"avg_rank": 62.0,
"2b_value": 21.0,
"2b_rank": 72,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 19.0,
"hr_rank": 55,
"rbi_value": 55.0,
"rbi_rank": 84,
"tb_value": 170.0,
"tb_rank": 614,
"bb_value": 36.0,
"bb_rank": 126,
"so_value": 81.0,
"so_rank": 142,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3367875,
"obp_rank": "64",
"slg_value": 0.494186,
"slg_rank": "21",
"ops_value": 0.8309735,
"ops_rank": 43.0,
"war_value": 2.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 373.0,
"k_percent": 21.0,
"bb_percent": 9.3,
"woba": 0.357,
"xwoba": 0.358,
"xba": 0.271,
"xslg": 0.487,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 11.5,
"whiff_percent": 28.0,
"swing_percent": 47.4
},
"components": {
"expected_quality": 1.2876,
"regression_edge": 0.0286,
"xwoba_edge": 1.6,
"xba_edge": 0.9714,
"xslg_edge": 1.7,
"barrel_edge": 1.2667,
"hard_hit_edge": 1.0929,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "680977",
"player_name": "Brendan Donovan",
"offense_factor": 0.9857,
"quality_score": -0.1912,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "680977",
"espn_id": 41773,
"player_name": "Brendan Donovan",
"team": "SEA",
"role": "batter",
"espn_rank": 263,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 263,
"gp_value": 38.0,
"gp_rank": 409,
"ab_value": 132.0,
"ab_rank": 369,
"r_value": 12.0,
"r_rank": 400,
"h_value": 36.0,
"h_rank": 336,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 307,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 3.0,
"hr_rank": 347,
"rbi_value": 14.0,
"rbi_rank": 362,
"tb_value": 54.0,
"tb_rank": 1930,
"bb_value": 15.0,
"bb_rank": 321,
"so_value": 23.0,
"so_rank": 431,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3701298,
"obp_rank": "-",
"slg_value": 0.4090909,
"slg_rank": "-",
"ops_value": 0.7792207,
"ops_rank": null,
"war_value": 0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 145.0,
"k_percent": 14.9,
"bb_percent": 9.7,
"woba": 0.348,
"xwoba": 0.313,
"xba": 0.245,
"xslg": 0.34,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 28.2,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 11.2,
"whiff_percent": 17.4,
"swing_percent": 44.4
},
"components": {
"expected_quality": -0.1746,
"regression_edge": -1.0,
"xwoba_edge": 0.3143,
"xba_edge": 0.2286,
"xslg_edge": -0.4,
"barrel_edge": -0.8889,
"hard_hit_edge": -1.35,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "621493",
"player_name": "Taylor Ward",
"offense_factor": 1.0352,
"quality_score": 0.4687,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621493",
"espn_id": 34923,
"player_name": "Taylor Ward",
"team": "SEA",
"role": "batter",
"espn_rank": 88,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 88,
"gp_value": 121.0,
"gp_rank": 64,
"ab_value": 448.0,
"ab_rank": 68,
"r_value": 66.0,
"r_rank": 49,
"h_value": 107.0,
"h_rank": 88,
"avg_value": 0.2388392,
"avg_rank": 109.0,
"2b_value": 20.0,
"2b_rank": 82,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 32.0,
"rbi_rank": 220,
"tb_value": 150.0,
"tb_rank": 1073,
"bb_value": 89.0,
"bb_rank": 3,
"so_value": 113.0,
"so_rank": 54,
"sb_value": 4.0,
"sb_rank": 187,
"obp_value": 0.3699633,
"obp_rank": "16",
"slg_value": 0.3348214,
"slg_rank": "146",
"ops_value": 0.7047847,
"ops_rank": 130.0,
"war_value": 2.14,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 532.0,
"k_percent": 20.7,
"bb_percent": 16.3,
"woba": 0.324,
"xwoba": 0.339,
"xba": 0.247,
"xslg": 0.372,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 14.6,
"whiff_percent": 19.4,
"swing_percent": 34.4
},
"components": {
"expected_quality": 0.4753,
"regression_edge": 0.4286,
"xwoba_edge": 1.0571,
"xba_edge": 0.2857,
"xslg_edge": 0.0571,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.0786,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"offense_factor": 1.0752,
"quality_score": 1.0023,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677594",
"espn_id": 41044,
"player_name": "Julio Rodriguez",
"team": "SEA",
"role": "batter",
"espn_rank": 67,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 67,
"gp_value": 117.0,
"gp_rank": 101,
"ab_value": 459.0,
"ab_rank": 46,
"r_value": 58.0,
"r_rank": 87,
"h_value": 116.0,
"h_rank": 52,
"avg_value": 0.2527233,
"avg_rank": 82.0,
"2b_value": 18.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 19.0,
"hr_rank": 55,
"rbi_value": 53.0,
"rbi_rank": 93,
"tb_value": 191.0,
"tb_rank": 874,
"bb_value": 40.0,
"bb_rank": 103,
"so_value": 107.0,
"so_rank": 65,
"sb_value": 16.0,
"sb_rank": 41,
"obp_value": 0.3169291,
"obp_rank": "101",
"slg_value": 0.416122,
"slg_rank": "88",
"ops_value": 0.7330511,
"ops_rank": 189.0,
"war_value": 2.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 495.0,
"k_percent": 21.1,
"bb_percent": 7.9,
"woba": 0.32,
"xwoba": 0.351,
"xba": 0.274,
"xslg": 0.466,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 13.9,
"whiff_percent": 26.9,
"swing_percent": 52.5
},
"components": {
"expected_quality": 1.0213,
"regression_edge": 0.8857,
"xwoba_edge": 1.4,
"xba_edge": 1.0571,
"xslg_edge": 1.4,
"barrel_edge": 0.5556,
"hard_hit_edge": 0.7643,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "647304",
"player_name": "Josh Naylor",
"offense_factor": 1.0255,
"quality_score": 0.34,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "647304",
"espn_id": 35066,
"player_name": "Josh Naylor",
"team": "SEA",
"role": "batter",
"espn_rank": 290,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 290,
"gp_value": 119.0,
"gp_rank": 78,
"ab_value": 463.0,
"ab_rank": 43,
"r_value": 47.0,
"r_rank": 140,
"h_value": 124.0,
"h_rank": 33,
"avg_value": 0.2678185,
"avg_rank": 46.0,
"2b_value": 18.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 10.0,
"hr_rank": 160,
"rbi_value": 46.0,
"rbi_rank": 131,
"tb_value": 172.0,
"tb_rank": 1170,
"bb_value": 39.0,
"bb_rank": 108,
"so_value": 64.0,
"so_rank": 215,
"sb_value": 25.0,
"sb_rank": 10,
"obp_value": 0.3300589,
"obp_rank": "77",
"slg_value": 0.3714902,
"slg_rank": "126",
"ops_value": 0.7015491,
"ops_rank": 203.0,
"war_value": 0.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 499.0,
"k_percent": 12.5,
"bb_percent": 7.6,
"woba": 0.312,
"xwoba": 0.322,
"xba": 0.276,
"xslg": 0.394,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 37.2,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 12.2,
"whiff_percent": 17.8,
"swing_percent": 51.5
},
"components": {
"expected_quality": 0.3488,
"regression_edge": 0.2857,
"xwoba_edge": 0.5714,
"xba_edge": 1.1143,
"xslg_edge": 0.3714,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.0643,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "801126",
"player_name": "Brock Rodden",
"offense_factor": 0.9668,
"quality_score": -0.4422,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "801126",
"espn_id": 5197107,
"player_name": "Brock Rodden",
"team": "SEA",
"role": "batter",
"espn_rank": 467,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 467,
"gp_value": 6.0,
"gp_rank": 598,
"ab_value": 20.0,
"ab_rank": 568,
"r_value": 3.0,
"r_rank": 527,
"h_value": 6.0,
"h_rank": 525,
"avg_value": 0.3,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 460,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 0.0,
"hr_rank": 516,
"rbi_value": 3.0,
"rbi_rank": 517,
"tb_value": 10.0,
"tb_rank": 2779,
"bb_value": 3.0,
"bb_rank": 485,
"so_value": 10.0,
"so_rank": 519,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.375,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.875,
"ops_rank": null,
"war_value": -0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 21.0,
"k_percent": 41.7,
"bb_percent": 12.5,
"woba": 0.37,
"xwoba": 0.238,
"xba": 0.144,
"xslg": 0.233,
"sweet_spot_percent": 45.5,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 54.5,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 15.9,
"whiff_percent": 40.5,
"swing_percent": 43.8
},
"components": {
"expected_quality": -0.8172,
"regression_edge": -2.0,
"xwoba_edge": -1.8286,
"xba_edge": -2.5,
"xslg_edge": -1.9286,
"barrel_edge": 0.5111,
"hard_hit_edge": 2.4071,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 2.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "668227",
"player_name": "Randy Arozarena",
"offense_factor": 1.0475,
"quality_score": 0.6339,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668227",
"espn_id": 36488,
"player_name": "Randy Arozarena",
"team": "SEA",
"role": "batter",
"espn_rank": 31,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 31,
"gp_value": 120.0,
"gp_rank": 70,
"ab_value": 445.0,
"ab_rank": 71,
"r_value": 80.0,
"r_rank": 11,
"h_value": 121.0,
"h_rank": 39,
"avg_value": 0.2719101,
"avg_rank": 38.0,
"2b_value": 26.0,
"2b_rank": 18,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 17.0,
"hr_rank": 66,
"rbi_value": 53.0,
"rbi_rank": 93,
"tb_value": 200.0,
"tb_rank": 501,
"bb_value": 48.0,
"bb_rank": 62,
"so_value": 110.0,
"so_rank": 60,
"sb_value": 20.0,
"sb_rank": 20,
"obp_value": 0.366279,
"obp_rank": "21",
"slg_value": 0.4494382,
"slg_rank": "49",
"ops_value": 0.8157172,
"ops_rank": 70.0,
"war_value": 3.72,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 506.0,
"k_percent": 21.3,
"bb_percent": 9.3,
"woba": 0.36,
"xwoba": 0.346,
"xba": 0.262,
"xslg": 0.414,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 8.8,
"whiff_percent": 26.5,
"swing_percent": 46.6
},
"components": {
"expected_quality": 0.8022,
"regression_edge": -0.4,
"xwoba_edge": 1.2571,
"xba_edge": 0.7143,
"xslg_edge": 0.6571,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.7929,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "702284",
"player_name": "Cole Young",
"offense_factor": 1.0235,
"quality_score": 0.3136,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702284",
"espn_id": 5080641,
"player_name": "Cole Young",
"team": "SEA",
"role": "batter",
"espn_rank": 24,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 24,
"gp_value": 128.0,
"gp_rank": 2,
"ab_value": 468.0,
"ab_rank": 36,
"r_value": 60.0,
"r_rank": 76,
"h_value": 119.0,
"h_rank": 43,
"avg_value": 0.2542735,
"avg_rank": 80.0,
"2b_value": 15.0,
"2b_rank": 164,
"3b_value": 3.0,
"3b_rank": 27,
"hr_value": 15.0,
"hr_rank": 96,
"rbi_value": 56.0,
"rbi_rank": 80,
"tb_value": 185.0,
"tb_rank": 549,
"bb_value": 33.0,
"bb_rank": 156,
"so_value": 87.0,
"so_rank": 122,
"sb_value": 3.0,
"sb_rank": 221,
"obp_value": 0.3138401,
"obp_rank": "105",
"slg_value": 0.3952991,
"slg_rank": "109",
"ops_value": 0.7091392,
"ops_rank": 214.0,
"war_value": 3.86,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 505.0,
"k_percent": 16.9,
"bb_percent": 6.4,
"woba": 0.313,
"xwoba": 0.321,
"xba": 0.269,
"xslg": 0.402,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 38.4,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 14.0,
"whiff_percent": 18.9,
"swing_percent": 48.5
},
"components": {
"expected_quality": 0.3275,
"regression_edge": 0.2286,
"xwoba_edge": 0.5429,
"xba_edge": 0.9143,
"xslg_edge": 0.4857,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.1071,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "663728",
"player_name": "Cal Raleigh",
"offense_factor": 0.9971,
"quality_score": -0.0391,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663728",
"espn_id": 41292,
"player_name": "Cal Raleigh",
"team": "SEA",
"role": "batter",
"espn_rank": 590,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 590,
"gp_value": 94.0,
"gp_rank": 183,
"ab_value": 334.0,
"ab_rank": 159,
"r_value": 27.0,
"r_rank": 263,
"h_value": 52.0,
"h_rank": 261,
"avg_value": 0.1556886,
"avg_rank": 154.0,
"2b_value": 8.0,
"2b_rank": 288,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 13.0,
"hr_rank": 118,
"rbi_value": 44.0,
"rbi_rank": 143,
"tb_value": 99.0,
"tb_rank": 1445,
"bb_value": 52.0,
"bb_rank": 50,
"so_value": 125.0,
"so_rank": 33,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.2729591,
"obp_rank": "150",
"slg_value": 0.2964071,
"slg_rank": "153",
"ops_value": 0.5693662,
"ops_rank": 303.0,
"war_value": -0.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 387.0,
"k_percent": 31.9,
"bb_percent": 13.3,
"woba": 0.262,
"xwoba": 0.291,
"xba": 0.173,
"xslg": 0.353,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 35.4,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 25.9,
"whiff_percent": 31.4,
"swing_percent": 50.3
},
"components": {
"expected_quality": -0.1803,
"regression_edge": 0.8286,
"xwoba_edge": -0.3143,
"xba_edge": -1.8286,
"xslg_edge": -0.2143,
"barrel_edge": 1.2222,
"hard_hit_edge": -0.3214,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0206,
"raw_average_factor": 1.0206,
"team_espn_average_rank": 111.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "683737",
"player_name": "Michael Busch",
"offense_factor": 1.0298,
"quality_score": 0.3973,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683737",
"espn_id": 42415,
"player_name": "Michael Busch",
"team": "CHC",
"role": "batter",
"espn_rank": 160,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 160,
"gp_value": 126.0,
"gp_rank": 19,
"ab_value": 479.0,
"ab_rank": 23,
"r_value": 53.0,
"r_rank": 113,
"h_value": 116.0,
"h_rank": 52,
"avg_value": 0.2421711,
"avg_rank": 102.0,
"2b_value": 20.0,
"2b_rank": 82,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 15.0,
"hr_rank": 96,
"rbi_value": 64.0,
"rbi_rank": 49,
"tb_value": 185.0,
"tb_rank": 546,
"bb_value": 70.0,
"bb_rank": 13,
"so_value": 125.0,
"so_rank": 33,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.3492907,
"obp_rank": "47",
"slg_value": 0.3862212,
"slg_rank": "116",
"ops_value": 0.7355119,
"ops_rank": 69.0,
"war_value": 1.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 554.0,
"k_percent": 22.2,
"bb_percent": 12.4,
"woba": 0.33,
"xwoba": 0.331,
"xba": 0.234,
"xslg": 0.401,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 39.1,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 15.1,
"whiff_percent": 25.0,
"swing_percent": 43.9
},
"components": {
"expected_quality": 0.4574,
"regression_edge": 0.0286,
"xwoba_edge": 0.8286,
"xba_edge": -0.0857,
"xslg_edge": 0.4714,
"barrel_edge": 0.4667,
"hard_hit_edge": 0.2071,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"offense_factor": 1.071,
"quality_score": 0.9468,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691718",
"espn_id": 4717833,
"player_name": "Pete Crow-Armstrong",
"team": "CHC",
"role": "batter",
"espn_rank": 1,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 1,
"gp_value": 128.0,
"gp_rank": 2,
"ab_value": 487.0,
"ab_rank": 13,
"r_value": 90.0,
"r_rank": 2,
"h_value": 136.0,
"h_rank": 12,
"avg_value": 0.2792607,
"avg_rank": 28.0,
"2b_value": 25.0,
"2b_rank": 30,
"3b_value": 7.0,
"3b_rank": 2,
"hr_value": 31.0,
"hr_rank": 7,
"rbi_value": 79.0,
"rbi_rank": 14,
"tb_value": 268.0,
"tb_rank": 25,
"bb_value": 68.0,
"bb_rank": 16,
"so_value": 154.0,
"so_rank": 7,
"sb_value": 31.0,
"sb_rank": 5,
"obp_value": 0.3778558,
"obp_rank": "11",
"slg_value": 0.550308,
"slg_rank": "3",
"ops_value": 0.9281638,
"ops_rank": 14.0,
"war_value": 7.76,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 554.0,
"k_percent": 27.0,
"bb_percent": 11.9,
"woba": 0.396,
"xwoba": 0.359,
"xba": 0.251,
"xslg": 0.47,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 49.0,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 21.9,
"whiff_percent": 27.4,
"swing_percent": 49.3
},
"components": {
"expected_quality": 1.273,
"regression_edge": -1.0571,
"xwoba_edge": 1.6286,
"xba_edge": 0.4,
"xslg_edge": 1.4571,
"barrel_edge": 1.2667,
"hard_hit_edge": 1.6214,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"offense_factor": 1.0361,
"quality_score": 0.482,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673548",
"espn_id": 4142424,
"player_name": "Seiya Suzuki",
"team": "CHC",
"role": "batter",
"espn_rank": 18,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 18,
"gp_value": 110.0,
"gp_rank": 128,
"ab_value": 418.0,
"ab_rank": 89,
"r_value": 71.0,
"r_rank": 35,
"h_value": 112.0,
"h_rank": 70,
"avg_value": 0.2679425,
"avg_rank": 46.0,
"2b_value": 24.0,
"2b_rank": 42,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 22.0,
"hr_rank": 29,
"rbi_value": 74.0,
"rbi_rank": 20,
"tb_value": 202.0,
"tb_rank": 741,
"bb_value": 58.0,
"bb_rank": 34,
"so_value": 124.0,
"so_rank": 39,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.3602484,
"obp_rank": "33",
"slg_value": 0.4832535,
"slg_rank": "29",
"ops_value": 0.8435019,
"ops_rank": 62.0,
"war_value": 4.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 472.0,
"k_percent": 25.7,
"bb_percent": 12.0,
"woba": 0.365,
"xwoba": 0.336,
"xba": 0.247,
"xslg": 0.427,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 38.7,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 18.7,
"whiff_percent": 24.9,
"swing_percent": 40.5
},
"components": {
"expected_quality": 0.6953,
"regression_edge": -0.8286,
"xwoba_edge": 0.9714,
"xba_edge": 0.2857,
"xslg_edge": 0.8429,
"barrel_edge": 0.8889,
"hard_hit_edge": 0.15,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.85,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "663538",
"player_name": "Nico Hoerner",
"offense_factor": 1.0195,
"quality_score": 0.2601,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663538",
"espn_id": 41219,
"player_name": "Nico Hoerner",
"team": "CHC",
"role": "batter",
"espn_rank": 74,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 74,
"gp_value": 125.0,
"gp_rank": 23,
"ab_value": 497.0,
"ab_rank": 4,
"r_value": 52.0,
"r_rank": 117,
"h_value": 131.0,
"h_rank": 22,
"avg_value": 0.2635814,
"avg_rank": 55.0,
"2b_value": 26.0,
"2b_rank": 18,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 58.0,
"rbi_rank": 75,
"tb_value": 180.0,
"tb_rank": 943,
"bb_value": 40.0,
"bb_rank": 103,
"so_value": 47.0,
"so_rank": 289,
"sb_value": 20.0,
"sb_rank": 20,
"obp_value": 0.3224043,
"obp_rank": "85",
"slg_value": 0.362173,
"slg_rank": "135",
"ops_value": 0.6845773,
"ops_rank": 50.0,
"war_value": 2.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 538.0,
"k_percent": 8.6,
"bb_percent": 7.3,
"woba": 0.305,
"xwoba": 0.326,
"xba": 0.301,
"xslg": 0.376,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 1.1,
"hard_hit_percent": 28.1,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 12.2,
"whiff_percent": 12.0,
"swing_percent": 46.0
},
"components": {
"expected_quality": 0.2048,
"regression_edge": 0.6,
"xwoba_edge": 0.6857,
"xba_edge": 1.8286,
"xslg_edge": 0.1143,
"barrel_edge": -1.2667,
"hard_hit_edge": -1.3643,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "608324",
"player_name": "Alex Bregman",
"offense_factor": 1.0035,
"quality_score": 0.0463,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608324",
"espn_id": 34886,
"player_name": "Alex Bregman",
"team": "CHC",
"role": "batter",
"espn_rank": 28,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 28,
"gp_value": 125.0,
"gp_rank": 23,
"ab_value": 495.0,
"ab_rank": 6,
"r_value": 69.0,
"r_rank": 41,
"h_value": 126.0,
"h_rank": 28,
"avg_value": 0.2545454,
"avg_rank": 78.0,
"2b_value": 24.0,
"2b_rank": 42,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 16.0,
"hr_rank": 80,
"rbi_value": 63.0,
"rbi_rank": 54,
"tb_value": 200.0,
"tb_rank": 556,
"bb_value": 63.0,
"bb_rank": 22,
"so_value": 89.0,
"so_rank": 116,
"sb_value": 3.0,
"sb_rank": 221,
"obp_value": 0.3450087,
"obp_rank": "53",
"slg_value": 0.4040404,
"slg_rank": "98",
"ops_value": 0.7490491,
"ops_rank": 45.0,
"war_value": 3.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 559.0,
"k_percent": 15.6,
"bb_percent": 11.0,
"woba": 0.332,
"xwoba": 0.315,
"xba": 0.245,
"xslg": 0.367,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 17.1,
"whiff_percent": 15.4,
"swing_percent": 41.2
},
"components": {
"expected_quality": 0.1329,
"regression_edge": -0.4857,
"xwoba_edge": 0.3714,
"xba_edge": 0.2286,
"xslg_edge": -0.0143,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.0786,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "699393",
"player_name": "Pedro Ramirez",
"offense_factor": 0.9905,
"quality_score": -0.1273,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "699393",
"espn_id": 5012995,
"player_name": "Pedro Ramirez",
"team": "CHC",
"role": "batter",
"espn_rank": 195,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 195,
"gp_value": 52.0,
"gp_rank": 371,
"ab_value": 137.0,
"ab_rank": 363,
"r_value": 20.0,
"r_rank": 322,
"h_value": 39.0,
"h_rank": 321,
"avg_value": 0.2846715,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 247,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 2.0,
"hr_rank": 392,
"rbi_value": 15.0,
"rbi_rank": 354,
"tb_value": 57.0,
"tb_rank": 1990,
"bb_value": 13.0,
"bb_rank": 338,
"so_value": 30.0,
"so_rank": 392,
"sb_value": 7.0,
"sb_rank": 113,
"obp_value": 0.3443708,
"obp_rank": "-",
"slg_value": 0.4160583,
"slg_rank": "-",
"ops_value": 0.7604291,
"ops_rank": null,
"war_value": 1.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 144.0,
"k_percent": 19.7,
"bb_percent": 8.6,
"woba": 0.33,
"xwoba": 0.295,
"xba": 0.263,
"xslg": 0.348,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 41.3,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 8.9,
"whiff_percent": 22.8,
"swing_percent": 50.5
},
"components": {
"expected_quality": -0.0634,
"regression_edge": -1.0,
"xwoba_edge": -0.2,
"xba_edge": 0.7429,
"xslg_edge": -0.2857,
"barrel_edge": -0.8889,
"hard_hit_edge": 0.5214,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664023",
"player_name": "Ian Happ",
"offense_factor": 1.0076,
"quality_score": 0.1011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664023",
"espn_id": 34945,
"player_name": "Ian Happ",
"team": "CHC",
"role": "batter",
"espn_rank": 83,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 83,
"gp_value": 124.0,
"gp_rank": 32,
"ab_value": 449.0,
"ab_rank": 67,
"r_value": 72.0,
"r_rank": 30,
"h_value": 96.0,
"h_rank": 115,
"avg_value": 0.2138084,
"avg_rank": 144.0,
"2b_value": 22.0,
"2b_rank": 60,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 20.0,
"hr_rank": 44,
"rbi_value": 51.0,
"rbi_rank": 105,
"tb_value": 182.0,
"tb_rank": 431,
"bb_value": 66.0,
"bb_rank": 19,
"so_value": 160.0,
"so_rank": 5,
"sb_value": 4.0,
"sb_rank": 187,
"obp_value": 0.321839,
"obp_rank": "85",
"slg_value": 0.4053452,
"slg_rank": "96",
"ops_value": 0.7271842,
"ops_rank": 181.0,
"war_value": 2.25,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 506.0,
"k_percent": 30.6,
"bb_percent": 12.6,
"woba": 0.321,
"xwoba": 0.308,
"xba": 0.2,
"xslg": 0.386,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 14.7,
"whiff_percent": 31.3,
"swing_percent": 43.6
},
"components": {
"expected_quality": 0.1781,
"regression_edge": -0.3714,
"xwoba_edge": 0.1714,
"xba_edge": -1.0571,
"xslg_edge": 0.2571,
"barrel_edge": 0.9333,
"hard_hit_edge": 0.6357,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "624424",
"player_name": "Michael Conforto",
"offense_factor": 1.0236,
"quality_score": 0.314,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624424",
"espn_id": 33711,
"player_name": "Michael Conforto",
"team": "CHC",
"role": "batter",
"espn_rank": 298,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 298,
"gp_value": 85.0,
"gp_rank": 232,
"ab_value": 194.0,
"ab_rank": 297,
"r_value": 25.0,
"r_rank": 279,
"h_value": 43.0,
"h_rank": 301,
"avg_value": 0.2216494,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 207,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 10.0,
"hr_rank": 160,
"rbi_value": 30.0,
"rbi_rank": 238,
"tb_value": 85.0,
"tb_rank": 1530,
"bb_value": 27.0,
"bb_rank": 195,
"so_value": 67.0,
"so_rank": 206,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3155555,
"obp_rank": "-",
"slg_value": 0.4381443,
"slg_rank": "-",
"ops_value": 0.7536998,
"ops_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 218.0,
"k_percent": 29.8,
"bb_percent": 12.0,
"woba": 0.325,
"xwoba": 0.312,
"xba": 0.218,
"xslg": 0.403,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 42.3,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 18.5,
"whiff_percent": 29.3,
"swing_percent": 43.5
},
"components": {
"expected_quality": 0.429,
"regression_edge": -0.3714,
"xwoba_edge": 0.2857,
"xba_edge": -0.5429,
"xslg_edge": 0.5,
"barrel_edge": 1.0444,
"hard_hit_edge": 0.6643,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "C",
"player_id": "608348",
"player_name": "Carson Kelly",
"offense_factor": 1.0035,
"quality_score": 0.0468,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608348",
"espn_id": 32797,
"player_name": "Carson Kelly",
"team": "CHC",
"role": "batter",
"espn_rank": 144,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 144,
"gp_value": 94.0,
"gp_rank": 183,
"ab_value": 296.0,
"ab_rank": 195,
"r_value": 43.0,
"r_rank": 162,
"h_value": 77.0,
"h_rank": 168,
"avg_value": 0.2601351,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 207,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 43.0,
"rbi_rank": 152,
"tb_value": 110.0,
"tb_rank": 1574,
"bb_value": 34.0,
"bb_rank": 146,
"so_value": 57.0,
"so_rank": 247,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.3423423,
"obp_rank": "-",
"slg_value": 0.3716216,
"slg_rank": "-",
"ops_value": 0.7139639,
"ops_rank": null,
"war_value": 1.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 326.0,
"k_percent": 17.1,
"bb_percent": 10.2,
"woba": 0.321,
"xwoba": 0.314,
"xba": 0.243,
"xslg": 0.377,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 11.4,
"whiff_percent": 19.9,
"swing_percent": 44.0
},
"components": {
"expected_quality": 0.087,
"regression_edge": -0.2,
"xwoba_edge": 0.3429,
"xba_edge": 0.1714,
"xslg_edge": 0.1286,
"barrel_edge": -0.3111,
"hard_hit_edge": -0.2357,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.3167,
"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 CHC | True | 245 | -0.3870 | 1 | 1.0329 | 0.9651 | 0.9640 | 1.0835 | neutral | 0.3410 | 0.3200 | 19.20 | 7.30 | 22.30 | 10.30 | 37.90 | |
| Home SEA | True | 39 | 0.0149 | 1 | 0.9987 | 0.9954 | 0.9420 | 1.0397 | neutral | 0.3080 | 0.2880 | 23.10 | 6.20 | 23.70 | 8.40 | 41.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHC | True | None | 93 | 85.33 | 2216 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2570 | |
| Home SEA | True | None | 80 | 90.13 | 2353 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0122 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9992 |
| home_runs_vs_away_pitcher | 1.0232 |
| home_pitcher_starter_only_factor | 0.9987 |
| away_pitcher_starter_only_factor | 1.0329 |
| home_pitcher_workload_share | 0.6296 |
| away_pitcher_workload_share | 0.7037 |
| home_pitcher_quality_edge | 0.2817 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "676106",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 465.0,
"k_percent": 23.1,
"bb_percent": 6.2,
"woba": 0.288,
"xwoba": 0.308,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 41.1,
"avg_best_speed": 78.8387,
"avg_hyper_speed": 94.3247,
"whiff_percent": 23.7,
"swing_percent": 51.5
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0722,
"command_and_miss": 0.1179,
"regression_edge": -0.5714,
"xwoba_edge": 0.1143,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.5,
"whiff_edge": -0.2429,
"bb_edge": 0.725,
"pitch_design_score": 0.0122
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676106",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 80,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 80,
"pitch_usage": 0.0,
"release_speed": 90.13296344583853,
"release_spin_rate": 2352.680831112985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 80,
"pitch_usage": 0.0,
"release_speed": 90.13296344583853,
"release_spin_rate": 2352.680831112985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.133,
"release_spin_rate": 2352.6808,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0122,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0871,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0149,
"sample_weight": 1.0,
"run_prevention_factor": 0.9987,
"strikeout_factor": 0.9954,
"walk_factor": 0.942,
"homer_factor": 1.0397,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676106",
"espn_id": 4297897,
"player_name": "Emerson Hancock",
"team": "SEA",
"role": "pitcher",
"espn_rank": 39,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 39,
"gp_value": 23.0,
"gp_rank": 305,
"gs_value": 23.0,
"gs_rank": 53,
"qs_value": 12.0,
"qs_rank": 23,
"era_value": 3.3046,
"era_rank": 20.0,
"w_value": 7.0,
"w_rank": 66,
"l_value": 7.0,
"l_rank": 62,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 128.0,
"ip_rank": 52,
"h_value": 110.0,
"h_rank": 75,
"er_value": 47.0,
"er_rank": 93,
"hr_value": 16.0,
"hr_rank": 57,
"bb_value": 32.0,
"bb_rank": 116,
"k_value": 119.0,
"k_rank": 50,
"k_per_9_value": 8.3671875,
"k_per_9_rank": 25.0,
"whip_value": 1.1093,
"whip_rank": 17.0,
"war_value": 2.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "571510",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 329.0,
"k_percent": 19.2,
"bb_percent": 7.3,
"woba": 0.32,
"xwoba": 0.341,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 37.9,
"avg_best_speed": 75.8909,
"avg_hyper_speed": 94.0827,
"whiff_percent": 22.3,
"swing_percent": 49.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.4276,
"command_and_miss": -0.2579,
"regression_edge": -0.6,
"xwoba_edge": -0.8286,
"barrel_edge": -0.7111,
"hard_hit_edge": -0.0429,
"whiff_edge": -0.4429,
"bb_edge": 0.45,
"pitch_design_score": -0.257
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "571510",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 85.3266386267933,
"release_spin_rate": 2215.69886893879,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 85.3266386267933,
"release_spin_rate": 2215.69886893879,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.3266,
"release_spin_rate": 2215.6989,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.257,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.8354,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.387,
"sample_weight": 1.0,
"run_prevention_factor": 1.0329,
"strikeout_factor": 0.9651,
"walk_factor": 0.964,
"homer_factor": 1.0835,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571510",
"espn_id": 34401,
"player_name": "Matthew Boyd",
"team": "CHC",
"role": "pitcher",
"espn_rank": 245,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 245,
"gp_value": 15.0,
"gp_rank": 425,
"gs_value": 15.0,
"gs_rank": 118,
"qs_value": 6.0,
"qs_rank": 82,
"era_value": 4.0235,
"era_rank": null,
"w_value": 8.0,
"w_rank": 44,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 85.0,
"ip_rank": 132,
"h_value": 79.0,
"h_rank": 131,
"er_value": 38.0,
"er_rank": 134,
"hr_value": 13.0,
"hr_rank": 94,
"bb_value": 26.0,
"bb_rank": 174,
"k_value": 68.0,
"k_rank": 160,
"k_per_9_value": 7.2,
"k_per_9_rank": 32.0,
"whip_value": 1.2352,
"whip_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9992,
"home_runs_vs_away_pitcher": 1.0232,
"home_pitcher_starter_only_factor": 0.9987,
"away_pitcher_starter_only_factor": 1.0329,
"home_pitcher_workload_share": 0.6296,
"away_pitcher_workload_share": 0.7037,
"home_pitcher_quality_edge": 0.2817
},
"score_before": {
"away_runs": 3.9278,
"home_runs": 4.2778
},
"score_after": {
"away_runs": 3.9246,
"home_runs": 4.3768,
"home_win_probability": 0.5435
},
"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 CHC | 6-4 | 0.600 | 5.20 | 5.10 | 1 | 1L | hot | weak |
| Home SEA | 4-6 | 0.400 | 3.90 | 6.90 | -30 | 1L | average | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHC | 74-54 | 0.578 | 100 | 0.781 | True |
| Home SEA | 60-68 | 0.469 | -46 | -0.359 | True |
| Signal | - | - | -1.141 | -1.066 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHC | - | - | 5 | - | - | - | - |
| Game target SEA | - | - | 3 | - | - | - | - |
| Player finalized CHC | 36 | 8 | 5 | 2 | 4 | 4 | 8 |
| Player finalized SEA | 36 | 8 | 5 | 1 | 4 | 4 | 9 |
| Player model fractional CHC | 33.71 | 8.03 | 4.64 | 1.36 | 4.36 | 3.85 | 7.65 |
| Player model fractional SEA | 34.48 | 7.87 | 3.87 | 0.93 | 3.61 | 3.68 | 8.58 |
| Simulation box CHC | 32 | 5 | 5 | 1 | 5 | 3 | 10 |
| Simulation box SEA | 31 | 4 | 3 | 1 | 3 | 6 | 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 CHC | Starter | Matthew Boyd | 6.10 | 0 | 6 | 2 | 3 | 3.87 | 1.27 | True |
| Away CHC | Closer | Jacob Webb | 1 | 0 | 1 | 1 | 0 | 1.70 | 1.03 | True |
| Away CHC | Setup Man | Trent Thornton | 1 | 3 | 0 | 1 | 2 | 2.49 | 1.16 | True |
| Away CHC | Middle Reliever (High Leverage) | Ryan Zeferjahn | 0.20 | 0 | 0 | 0 | 1 | 6.51 | 1.79 | True |
| Home SEA | Starter | Emerson Hancock | 5.20 | 3 | 8 | 3 | 3 | 3.93 | 1.35 | True |
| Home SEA | Closer | Andrés Muñoz | 1 | 1 | 1 | 1 | 0 | 5.57 | 1.21 | True |
| Home SEA | Middle Reliever (High Leverage) | Eduard Bazardo | 1 | 0 | 0 | 0 | 0 | 2.67 | 1.23 | True |
| Home SEA | Setup Man | José A. Ferrer | 1.10 | 1 | 1 | 1 | 0 | 4.88 | 1.10 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CHC | batter | SS | Nico Hoerner | better | 10 | 9 | 1 | 8 | 2 | predicted_RBI | 3.5280 | boost | better |
| away | CHC | batter | CF | Pete Crow-Armstrong | worse | 12 | 3 | 9 | 2 | 10 | predicted_SO | 2.8170 | boost | worse |
| away | CHC | batter | 3B | Alex Bregman | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | -2.8100 | deboost | worse |
| home | SEA | batter | LF | Randy Arozarena | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 2.6200 | boost | better |
| home | SEA | pitcher | Starter | Emerson Hancock | better | 3 | 0 | 3 | 2 | 1 | predicted_ER | -2.0000 | deboost | better |
| home | SEA | batter | CF | Julio Rodríguez | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -1.8800 | deboost | worse |
| home | SEA | batter | 1B | Josh Naylor | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.5600 | deboost | worse |
| away | CHC | batter | DH | Michael Conforto | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 1.5000 | boost | better |
| home | SEA | batter | SS | Brock Rodden | worse | 11 | 1 | 10 | 2 | 9 | predicted_BB | 1.5000 | boost | better |
| home | SEA | batter | C | Cal Raleigh | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -1.3440 | deboost | better |
| away | CHC | batter | 2B | Pedro Ramirez | better | 11 | 9 | 2 | 8 | 3 | predicted_H | 1.2100 | boost | better |
| away | CHC | batter | 1B | Michael Busch | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -1.1600 | deboost | worse |
| home | SEA | batter | DH | Taylor Ward | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.0680 | boost | worse |
| home | SEA | pitcher | Closer | Andrés Muñoz | worse | 2 | 2 | 0 | 0 | 2 | predicted_ER | 1.0000 | boost | worse |
| home | SEA | pitcher | Setup Man | José A. Ferrer | worse | 3 | 3 | 0 | 1 | 2 | predicted_ER | 1.0000 | boost | worse |
| home | SEA | batter | 3B | Brendan Donovan | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | 0.9600 | boost | better |
| home | SEA | batter | 2B | Cole Young | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.8800 | deboost | worse |
| home | SEA | batter | RF | Dominic Canzone | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | -0.8110 | deboost | worse |
| away | CHC | batter | C | Carson Kelly | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -0.7900 | deboost | worse |
| away | CHC | batter | LF | Ian Happ | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.6700 | deboost | worse |
| away | CHC | batter | RF | Seiya Suzuki | worse | 10 | 3 | 7 | 4 | 6 | predicted_RBI | -0.6400 | deboost | worse |
| away | CHC | pitcher | Middle Reliever (High Leverage) | Ryan Zeferjahn | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | CHC | pitcher | Starter | Matthew Boyd | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Matthew Boyd |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3870 |
| ESPN Rank | 245 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2570 |
| Avg Velo | 85.3266 |
| Avg Spin | 2215.6989 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 4.0235 |
| Season WHIP | 1.2353 |
| Role Avg IP | 5.6670 |
| Recent Avg IP | 6.6000 |
| Last Start IP | 5.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.5781,
"runs_scored": 656.0,
"runs_allowed": 556.0,
"run_differential": 100.0,
"run_differential_per_game": 0.7812,
"avg_runs_scored": 5.125,
"avg_runs_allowed": 4.3438,
"offense_index": 1.1433,
"defense_index": 1.032,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1972
},
"opponent": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.4688,
"runs_scored": 500.0,
"runs_allowed": 546.0,
"run_differential": -46.0,
"run_differential_per_game": -0.3594,
"avg_runs_scored": 3.9062,
"avg_runs_allowed": 4.2656,
"offense_index": 0.8714,
"defense_index": 1.0509,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.9,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.1056
},
"edges": {
"quality_edge": 0.3028,
"offense_edge": 0.1433,
"opponent_offense_edge": -0.1286,
"defense_strength": 0.032,
"opponent_defense_weakness": -0.0509,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0182,
"run_prevention": 0.9611,
"strikeout": 1.0194
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "571510",
"profile": {
"available": true,
"pitcher_id": "571510",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 329.0,
"k_percent": 19.2,
"bb_percent": 7.3,
"woba": 0.32,
"xwoba": 0.341,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 37.9,
"avg_best_speed": 75.8909,
"avg_hyper_speed": 94.0827,
"whiff_percent": 22.3,
"swing_percent": 49.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.4276,
"command_and_miss": -0.2579,
"regression_edge": -0.6,
"xwoba_edge": -0.8286,
"barrel_edge": -0.7111,
"hard_hit_edge": -0.0429,
"whiff_edge": -0.4429,
"bb_edge": 0.45,
"pitch_design_score": -0.257
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "571510",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 85.3266386267933,
"release_spin_rate": 2215.69886893879,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 85.3266386267933,
"release_spin_rate": 2215.69886893879,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.3266,
"release_spin_rate": 2215.6989,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.257,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.8354,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.387,
"sample_weight": 1.0,
"run_prevention_factor": 1.0329,
"strikeout_factor": 0.9651,
"walk_factor": 0.964,
"homer_factor": 1.0835,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571510",
"espn_id": 34401,
"player_name": "Matthew Boyd",
"team": "CHC",
"role": "pitcher",
"espn_rank": 245,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 245,
"gp_value": 15.0,
"gp_rank": 425,
"gs_value": 15.0,
"gs_rank": 118,
"qs_value": 6.0,
"qs_rank": 82,
"era_value": 4.0235,
"era_rank": null,
"w_value": 8.0,
"w_rank": 44,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 85.0,
"ip_rank": 132,
"h_value": 79.0,
"h_rank": 131,
"er_value": 38.0,
"er_rank": 134,
"hr_value": 13.0,
"hr_rank": 94,
"bb_value": 26.0,
"bb_rank": 174,
"k_value": 68.0,
"k_rank": 160,
"k_per_9_value": 7.2,
"k_per_9_rank": 32.0,
"whip_value": 1.2352,
"whip_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0329,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0329,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.964,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0835,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9651,
"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": 61.0,
"ER": 22,
"H": 54,
"BB": 20,
"SO": 37,
"HR": 11,
"ERA": 3.245901639344263,
"WHIP": 1.213114754098361,
"K9": 5.4590163934426235,
"HR9": 1.6229508196721314,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-15T00:00:00"
}{
"available": true,
"pitcher_id": "571510",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 85.3266386267933,
"release_spin_rate": 2215.69886893879,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 85.3266386267933,
"release_spin_rate": 2215.69886893879,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 85.3266,
"release_spin_rate": 2215.6989,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.257,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.8354,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "571510",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 33.0,
"ER": 14.0,
"R": 15.0,
"H": 30.0,
"BB": 12.0,
"SO": 17.0,
"HR": 7.0,
"BF": 137.0,
"Pitches": 473.0
},
"per_game": {
"IP": 6.2,
"ER": 2.8,
"R": 3.0,
"H": 6.0,
"BB": 2.4,
"SO": 3.4,
"HR": 1.4,
"BF": 27.4,
"Pitches": 94.6
},
"rates": {
"ERA": 3.8182,
"WHIP": 1.2727,
"ER_per_IP": 0.42424,
"H_per_IP": 0.90909,
"BB_per_IP": 0.36364,
"SO_per_IP": 0.51515,
"HR_per_IP": 0.21212
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.0,
"ER": 22.0,
"R": 23.0,
"H": 54.0,
"BB": 20.0,
"SO": 37.0,
"HR": 11.0,
"BF": 254.0,
"Pitches": 901.0
},
"per_game": {
"IP": 6.0,
"ER": 2.2,
"R": 2.3,
"H": 5.4,
"BB": 2.0,
"SO": 3.7,
"HR": 1.1,
"BF": 25.4,
"Pitches": 90.1
},
"rates": {
"ERA": 3.2459,
"WHIP": 1.2131,
"ER_per_IP": 0.36066,
"H_per_IP": 0.88525,
"BB_per_IP": 0.32787,
"SO_per_IP": 0.60656,
"HR_per_IP": 0.18033
}
},
"season": {
"games": 15,
"totals": {
"IP": 85.0,
"ER": 38.0,
"R": 40.0,
"H": 79.0,
"BB": 26.0,
"SO": 68.0,
"HR": 13.0,
"BF": 354.0,
"Pitches": 1331.0
},
"per_game": {
"IP": 5.2,
"ER": 2.5333,
"R": 2.6667,
"H": 5.2667,
"BB": 1.7333,
"SO": 4.5333,
"HR": 0.8667,
"BF": 23.6,
"Pitches": 88.7333
},
"rates": {
"ERA": 4.0235,
"WHIP": 1.2353,
"ER_per_IP": 0.44706,
"H_per_IP": 0.92941,
"BB_per_IP": 0.30588,
"SO_per_IP": 0.8,
"HR_per_IP": 0.15294
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.692,
"predicted_H": 5.768,
"predicted_BB": 2.167,
"predicted_SO": 4.325,
"predicted_HR": 1.118,
"predicted_ERA": 3.8719,
"predicted_WHIP": 1.268
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.692,
"final": 1.4655,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 5.768,
"final": 4.0512,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.167,
"final": 2.5465,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.325,
"final": 5.0882,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 1.118,
"final": 0.6086,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8719,
"final": 3.8719,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.268,
"final": 1.268,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jacob Webb |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2397 |
| ESPN Rank | 129 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0470 |
| Avg Velo | 89.0762 |
| Avg Spin | 2420.9498 |
| 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.2500 |
| Season WHIP | 1.1786 |
| Role Avg IP | 1 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.5781,
"runs_scored": 656.0,
"runs_allowed": 556.0,
"run_differential": 100.0,
"run_differential_per_game": 0.7812,
"avg_runs_scored": 5.125,
"avg_runs_allowed": 4.3438,
"offense_index": 1.1433,
"defense_index": 1.032,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1972
},
"opponent": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.4688,
"runs_scored": 500.0,
"runs_allowed": 546.0,
"run_differential": -46.0,
"run_differential_per_game": -0.3594,
"avg_runs_scored": 3.9062,
"avg_runs_allowed": 4.2656,
"offense_index": 0.8714,
"defense_index": 1.0509,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.9,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.1056
},
"edges": {
"quality_edge": 0.3028,
"offense_edge": 0.1433,
"opponent_offense_edge": -0.1286,
"defense_strength": 0.032,
"opponent_defense_weakness": -0.0509,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0182,
"run_prevention": 0.9611,
"strikeout": 1.0194
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657097",
"profile": {
"available": true,
"pitcher_id": "657097",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 226.0,
"k_percent": 27.2,
"bb_percent": 8.6,
"woba": 0.271,
"xwoba": 0.3,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 41.6,
"avg_best_speed": 76.7981,
"avg_hyper_speed": 94.2,
"whiff_percent": 33.8,
"swing_percent": 51.2
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.2723,
"command_and_miss": 0.7664,
"regression_edge": -0.8286,
"xwoba_edge": 0.3429,
"barrel_edge": 0.2,
"hard_hit_edge": -0.5714,
"whiff_edge": 1.2,
"bb_edge": 0.125,
"pitch_design_score": -0.047
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657097",
"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": 89.07616736649315,
"release_spin_rate": 2420.9497534562565,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.07616736649315,
"release_spin_rate": 2420.9497534562565,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0762,
"release_spin_rate": 2420.9498,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.047,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3356,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2397,
"sample_weight": 0.904,
"run_prevention_factor": 0.9796,
"strikeout_factor": 1.0692,
"walk_factor": 0.991,
"homer_factor": 0.9969,
"woba_minus_xwoba": -0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657097",
"espn_id": 40384,
"player_name": "Jacob Webb",
"team": "CHC",
"role": "pitcher",
"espn_rank": 129,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 129,
"gp_value": 56.0,
"gp_rank": 27,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.25,
"era_rank": null,
"w_value": 6.0,
"w_rank": 90,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 9.0,
"sv_rank": 28,
"hld_value": 8.0,
"hld_rank": 97,
"ip_value": 56.0,
"ip_rank": 216,
"h_value": 46.0,
"h_rank": 229,
"er_value": 14.0,
"er_rank": 392,
"hr_value": 6.0,
"hr_rank": 244,
"bb_value": 20.0,
"bb_rank": 250,
"k_value": 63.0,
"k_rank": 176,
"k_per_9_value": 10.125,
"k_per_9_rank": 22.0,
"whip_value": 1.1785,
"whip_rank": null,
"war_value": 1.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9816,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9919,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9972,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0626,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 0,
"H": 4,
"BB": 3,
"SO": 11,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.65625,
"K9": 9.28125,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-18T00:00:00"
}{
"available": true,
"pitcher_id": "657097",
"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": 89.07616736649315,
"release_spin_rate": 2420.9497534562565,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.07616736649315,
"release_spin_rate": 2420.9497534562565,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0762,
"release_spin_rate": 2420.9498,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.047,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3356,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.226,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6919,
"prior_weight": 0.3081
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "657097",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 56,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 3.0,
"SO": 7.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.6,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9375,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 3.0,
"SO": 11.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.3,
"SO": 1.1,
"HR": 0.0,
"BF": 3.9,
"Pitches": 15.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6562,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.28125,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 56,
"totals": {
"IP": 56.0,
"ER": 14.0,
"R": 17.0,
"H": 46.0,
"BB": 20.0,
"SO": 63.0,
"HR": 6.0,
"BF": 232.0,
"Pitches": 942.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.3036,
"H": 0.8214,
"BB": 0.3571,
"SO": 1.125,
"HR": 0.1071,
"BF": 4.1429,
"Pitches": 16.8214
},
"rates": {
"ERA": 2.25,
"WHIP": 1.1786,
"ER_per_IP": 0.25,
"H_per_IP": 0.82143,
"BB_per_IP": 0.35714,
"SO_per_IP": 1.125,
"HR_per_IP": 0.10714
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.189,
"predicted_H": 0.621,
"predicted_BB": 0.406,
"predicted_SO": 1.107,
"predicted_HR": 0.06,
"predicted_ERA": 1.7011,
"predicted_WHIP": 1.0264
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4802,
"form_weight": 0.5198,
"form_reliability": 0.6919,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.226,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6919,
"prior_weight": 0.3081
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.189,
"final": 0.0982,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.621,
"final": 0.803,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.406,
"final": 0.2111,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.107,
"final": 1.0556,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.06,
"final": 0.0312,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7011,
"final": 1.7011,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0264,
"final": 1.0264,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Trent Thornton |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2586 |
| ESPN Rank | 185 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0326 |
| Avg Velo | 89.3322 |
| Avg Spin | 2680.3332 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 3 |
| Pre H | 1 |
| Pre BB | 2 |
| Pre SO | 0 |
| Season ERA | 2.2881 |
| Season WHIP | 1.0678 |
| Role Avg IP | 1.0630 |
| Recent Avg IP | 0.7330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.5781,
"runs_scored": 656.0,
"runs_allowed": 556.0,
"run_differential": 100.0,
"run_differential_per_game": 0.7812,
"avg_runs_scored": 5.125,
"avg_runs_allowed": 4.3438,
"offense_index": 1.1433,
"defense_index": 1.032,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1972
},
"opponent": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.4688,
"runs_scored": 500.0,
"runs_allowed": 546.0,
"run_differential": -46.0,
"run_differential_per_game": -0.3594,
"avg_runs_scored": 3.9062,
"avg_runs_allowed": 4.2656,
"offense_index": 0.8714,
"defense_index": 1.0509,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.9,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.1056
},
"edges": {
"quality_edge": 0.3028,
"offense_edge": 0.1433,
"opponent_offense_edge": -0.1286,
"defense_strength": 0.032,
"opponent_defense_weakness": -0.0509,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0182,
"run_prevention": 0.9611,
"strikeout": 1.0194
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663423",
"profile": {
"available": true,
"pitcher_id": "663423",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 141.0,
"k_percent": 14.4,
"bb_percent": 9.8,
"woba": 0.277,
"xwoba": 0.328,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 45.6,
"avg_best_speed": 80.1558,
"avg_hyper_speed": 94.5722,
"whiff_percent": 21.7,
"swing_percent": 49.5
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.2191,
"command_and_miss": -0.7214,
"regression_edge": -1.4571,
"xwoba_edge": -0.4571,
"barrel_edge": -0.3556,
"hard_hit_edge": -1.1429,
"whiff_edge": -0.5286,
"bb_edge": -0.175,
"pitch_design_score": -0.0326
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663423",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 89.33223312213448,
"release_spin_rate": 2680.3332280240197,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 89.33223312213448,
"release_spin_rate": 2680.3332280240197,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3322,
"release_spin_rate": 2680.3332,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0326,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2332,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2586,
"sample_weight": 0.564,
"run_prevention_factor": 1.022,
"strikeout_factor": 0.9629,
"walk_factor": 1.0079,
"homer_factor": 1.0496,
"woba_minus_xwoba": -0.051,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663423",
"espn_id": 36728,
"player_name": "Trent Thornton",
"team": "CHC",
"role": "pitcher",
"espn_rank": 185,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 185,
"gp_value": 38.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.5169,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 4.0,
"l_rank": 153,
"sv_value": 3.0,
"sv_rank": 62,
"hld_value": 4.0,
"hld_rank": 175,
"ip_value": 39.1,
"ip_rank": 341,
"h_value": 28.0,
"h_rank": 393,
"er_value": 11.0,
"er_rank": 459,
"hr_value": 4.0,
"hr_rank": 336,
"bb_value": 15.0,
"bb_rank": 348,
"k_value": 22.0,
"k_rank": 437,
"k_per_9_value": 5.0338984,
"k_per_9_rank": 34.0,
"whip_value": 1.0932,
"whip_rank": null,
"war_value": 0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0124,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0124,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0045,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.028,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9791,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 2,
"H": 6,
"BB": 5,
"SO": 7,
"HR": 0,
"ERA": 2.16,
"WHIP": 1.3200000000000003,
"K9": 7.560000000000001,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "663423",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 10,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 89.33223312213448,
"release_spin_rate": 2680.3332280240197,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 10,
"pitch_usage": 0.0,
"release_speed": 89.33223312213448,
"release_spin_rate": 2680.3332280240197,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3322,
"release_spin_rate": 2680.3332,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0326,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2332,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.885,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.612,
"prior_weight": 0.388
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663423",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 14.0,
"Pitches": 53.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 2.8,
"Pitches": 10.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8182,
"ER_per_IP": 0.0,
"H_per_IP": 0.54545,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 2.0,
"R": 3.0,
"H": 6.0,
"BB": 5.0,
"SO": 7.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 128.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.3,
"H": 0.6,
"BB": 0.5,
"SO": 0.7,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.8
},
"rates": {
"ERA": 2.16,
"WHIP": 1.32,
"ER_per_IP": 0.24,
"H_per_IP": 0.72,
"BB_per_IP": 0.6,
"SO_per_IP": 0.84,
"HR_per_IP": 0.0
}
},
"season": {
"games": 37,
"totals": {
"IP": 39.1,
"ER": 10.0,
"R": 12.0,
"H": 27.0,
"BB": 15.0,
"SO": 22.0,
"HR": 4.0,
"BF": 152.0,
"Pitches": 564.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2703,
"R": 0.3243,
"H": 0.7297,
"BB": 0.4054,
"SO": 0.5946,
"HR": 0.1081,
"BF": 4.1081,
"Pitches": 15.2432
},
"rates": {
"ERA": 2.2881,
"WHIP": 1.0678,
"ER_per_IP": 0.25424,
"H_per_IP": 0.68644,
"BB_per_IP": 0.38136,
"SO_per_IP": 0.55932,
"HR_per_IP": 0.10169
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.232,
"predicted_H": 0.641,
"predicted_BB": 0.328,
"predicted_SO": 0.831,
"predicted_HR": 0.058,
"predicted_ERA": 2.4928,
"predicted_WHIP": 1.1582
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5139,
"form_weight": 0.4861,
"form_reliability": 0.612,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.885,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.612,
"prior_weight": 0.388
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.232,
"final": 1.6546,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.641,
"final": 0.8255,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.328,
"final": 1.1873,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.831,
"final": 0.4039,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.058,
"final": 0.5421,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4928,
"final": 2.4928,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1582,
"final": 1.1582,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Ryan Zeferjahn |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4836 |
| ESPN Rank | 260 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0802 |
| Avg Velo | 91.3479 |
| Avg Spin | 2432.5132 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 4.1053 |
| Season WHIP | 1.2807 |
| Role Avg IP | 1.1180 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.5781,
"runs_scored": 656.0,
"runs_allowed": 556.0,
"run_differential": 100.0,
"run_differential_per_game": 0.7812,
"avg_runs_scored": 5.125,
"avg_runs_allowed": 4.3438,
"offense_index": 1.1433,
"defense_index": 1.032,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1972
},
"opponent": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.4688,
"runs_scored": 500.0,
"runs_allowed": 546.0,
"run_differential": -46.0,
"run_differential_per_game": -0.3594,
"avg_runs_scored": 3.9062,
"avg_runs_allowed": 4.2656,
"offense_index": 0.8714,
"defense_index": 1.0509,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.9,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.1056
},
"edges": {
"quality_edge": 0.3028,
"offense_edge": 0.1433,
"opponent_offense_edge": -0.1286,
"defense_strength": 0.032,
"opponent_defense_weakness": -0.0509,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0182,
"run_prevention": 0.9611,
"strikeout": 1.0194
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666171",
"profile": {
"available": true,
"pitcher_id": "666171",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 238.0,
"k_percent": 32.7,
"bb_percent": 13.5,
"woba": 0.297,
"xwoba": 0.281,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 36.8,
"avg_best_speed": 79.8727,
"avg_hyper_speed": 93.4694,
"whiff_percent": 33.3,
"swing_percent": 40.0
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4193,
"command_and_miss": 0.85,
"regression_edge": 0.4571,
"xwoba_edge": 0.8857,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.1143,
"whiff_edge": 1.1286,
"bb_edge": -1.1,
"pitch_design_score": 0.0802
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666171",
"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": 91.34789507823318,
"release_spin_rate": 2432.5131504719066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.34789507823318,
"release_spin_rate": 2432.5131504719066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3479,
"release_spin_rate": 2432.5132,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0802,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5731,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4836,
"sample_weight": 0.952,
"run_prevention_factor": 0.9589,
"strikeout_factor": 1.1001,
"walk_factor": 1.0838,
"homer_factor": 0.9602,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666171",
"espn_id": 4722057,
"player_name": "Ryan Zeferjahn",
"team": "CHC",
"role": "pitcher",
"espn_rank": 260,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 260,
"gp_value": 51.0,
"gp_rank": 57,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 4.1052,
"era_rank": null,
"w_value": 4.0,
"w_rank": 162,
"l_value": 3.0,
"l_rank": 210,
"sv_value": 4.0,
"sv_rank": 48,
"hld_value": 12.0,
"hld_rank": 47,
"ip_value": 57.0,
"ip_rank": 205,
"h_value": 38.0,
"h_rank": 304,
"er_value": 26.0,
"er_rank": 203,
"hr_value": 7.0,
"hr_rank": 206,
"bb_value": 35.0,
"bb_rank": 87,
"k_value": 82.0,
"k_rank": 119,
"k_per_9_value": 12.947368,
"k_per_9_rank": 15.0,
"whip_value": 1.2807,
"whip_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9609,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9609,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0798,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9621,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0953,
"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": 13,
"BB": 4,
"SO": 16,
"HR": 2,
"ERA": 5.4,
"WHIP": 1.7,
"K9": 14.4,
"HR9": 1.8,
"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-17T00:00:00"
}{
"available": true,
"pitcher_id": "666171",
"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": 91.34789507823318,
"release_spin_rate": 2432.5131504719066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.34789507823318,
"release_spin_rate": 2432.5131504719066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3479,
"release_spin_rate": 2432.5132,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0802,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5731,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.427,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6956,
"prior_weight": 0.3044
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "666171",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 51,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 3.0,
"SO": 7.0,
"HR": 2.0,
"BF": 25.0,
"Pitches": 112.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.6,
"BB": 0.6,
"SO": 1.4,
"HR": 0.4,
"BF": 5.0,
"Pitches": 22.4
},
"rates": {
"ERA": 10.3846,
"WHIP": 2.5385,
"ER_per_IP": 1.15385,
"H_per_IP": 1.84615,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 6.0,
"H": 13.0,
"BB": 4.0,
"SO": 16.0,
"HR": 2.0,
"BF": 48.0,
"Pitches": 205.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.3,
"BB": 0.4,
"SO": 1.6,
"HR": 0.2,
"BF": 4.8,
"Pitches": 20.5
},
"rates": {
"ERA": 5.4,
"WHIP": 1.7,
"ER_per_IP": 0.6,
"H_per_IP": 1.3,
"BB_per_IP": 0.4,
"SO_per_IP": 1.6,
"HR_per_IP": 0.2
}
},
"season": {
"games": 51,
"totals": {
"IP": 57.0,
"ER": 26.0,
"R": 28.0,
"H": 38.0,
"BB": 35.0,
"SO": 82.0,
"HR": 7.0,
"BF": 252.0,
"Pitches": 1080.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5098,
"R": 0.549,
"H": 0.7451,
"BB": 0.6863,
"SO": 1.6078,
"HR": 0.1373,
"BF": 4.9412,
"Pitches": 21.1765
},
"rates": {
"ERA": 4.1053,
"WHIP": 1.2807,
"ER_per_IP": 0.45614,
"H_per_IP": 0.66667,
"BB_per_IP": 0.61404,
"SO_per_IP": 1.4386,
"HR_per_IP": 0.12281
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.65,
"predicted_H": 1.153,
"predicted_BB": 0.459,
"predicted_SO": 1.245,
"predicted_HR": 0.229,
"predicted_ERA": 6.5094,
"predicted_WHIP": 1.7942
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4786,
"form_weight": 0.5214,
"form_reliability": 0.6956,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.427,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6956,
"prior_weight": 0.3044
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.65,
"final": 0.3389,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.153,
"final": 0.6012,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.459,
"final": 0.7179,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.245,
"final": 0.6491,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.229,
"final": 0.1194,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.5094,
"final": 6.5094,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7942,
"final": 1.7942,
"source": "form_only"
}
}
}{
"available": false,
"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.161 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.160 | 3.000 | 4.000 | Hitting_AB | 3.904 | 3.000 | -0.904 | 0.000 |
| predicted_AVG | 0.233 | 0.000 | 0.250 | Hitting_AVG | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_BB | 0.556 | 1.000 | 0.000 | Hitting_BB | 0.589 | 0.000 | 0.411 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 0.945 | 0.000 | -0.945 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.306 | 0.250 | 0.250 | Hitting_OBP | 0.351 | 0.000 | -0.101 | 0.250 |
| predicted_R | 0.419 | 1.000 | 0.000 | Hitting_R | 0.450 | 0.000 | 0.550 | 1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.528 | 0.000 | -0.528 | 0.000 |
| predicted_SLG | 0.365 | 0.000 | 0.250 | Hitting_SLG | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_SO | 0.992 | 0.000 | 1.000 | Hitting_SO | 1.032 | 1.000 | -1.032 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_R: 0.4190 -> 1.0000 (boost 0.5810, better) |
| Biggest Deboost | predicted_AB: 4.1600 -> 3.0000 (deboost -1.1600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.1600 -> 4.0051 (deboost -0.1549, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3646 -> 0.3874 (boost 0.0228, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_H: 0.9479 -> 1.0000 (boost 0.0521, better) | predicted_BB: 0.5157 -> 0.0000 (deboost -0.5157, worse) | AB rounded to 4 (raw=4.16), rates preserved: AVG=0.228 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4125 -> 0.0000 (deboost -0.4125, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3874 -> 0.3730 (deboost -0.0144, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 2 | 3 | 3 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3730 -> 0.3874 (boost 0.0144, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683737",
"player_name": "Michael Busch",
"position": "1B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.161,
"predicted_3B": 0.016,
"predicted_AB": 4.16,
"predicted_AVG": 0.233,
"predicted_BB": 0.556,
"predicted_H": 0.97,
"predicted_HR": 0.15,
"predicted_OBP": 0.306,
"predicted_R": 0.419,
"predicted_RBI": 0.35,
"predicted_SLG": 0.365,
"predicted_SO": 0.992
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1427,
"predicted_3B": 0.0134,
"predicted_AB": 4.0051,
"predicted_AVG": 0.2298,
"predicted_BB": 0.5082,
"predicted_H": 0.9217,
"predicted_HBP": 0.048,
"predicted_HR": 0.1409,
"predicted_OBP": 0.3085,
"predicted_R": 0.3925,
"predicted_RBI": 0.3574,
"predicted_SLG": 0.3646,
"predicted_SO": 0.975
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.1427,
"delta": -0.0183,
"percent_delta": -0.1137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0134,
"delta": -0.0026,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.16,
"after": 4.0051,
"delta": -0.1549,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2298,
"delta": -0.0032,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.5082,
"delta": -0.0478,
"percent_delta": -0.086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9217,
"delta": -0.0483,
"percent_delta": -0.0498,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1409,
"delta": -0.0091,
"percent_delta": -0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3085,
"delta": 0.0025,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.3925,
"delta": -0.0265,
"percent_delta": -0.0632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3574,
"delta": 0.0074,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3646,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.992,
"after": 0.975,
"delta": -0.017,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.16,
"after": 4.0051,
"delta": -0.1549,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1427,
"predicted_3B": 0.0134,
"predicted_AB": 4.0051,
"predicted_AVG": 0.2367,
"predicted_BB": 0.5157,
"predicted_H": 0.9479,
"predicted_HBP": 0.048,
"predicted_HR": 0.1447,
"predicted_OBP": 0.3237,
"predicted_R": 0.4125,
"predicted_RBI": 0.3756,
"predicted_SLG": 0.3874,
"predicted_SO": 0.9606
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1427,
"after": 0.1427,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0051,
"after": 4.0051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2298,
"after": 0.2367,
"delta": 0.0069,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5082,
"after": 0.5157,
"delta": 0.0075,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9217,
"after": 0.9479,
"delta": 0.0262,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.048,
"after": 0.048,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1409,
"after": 0.1447,
"delta": 0.0038,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3085,
"after": 0.3237,
"delta": 0.0152,
"percent_delta": 0.0493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3925,
"after": 0.4125,
"delta": 0.02,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3574,
"after": 0.3756,
"delta": 0.0182,
"percent_delta": 0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3646,
"after": 0.3874,
"delta": 0.0228,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.975,
"after": 0.9606,
"delta": -0.0144,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_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.3646,
"after": 0.3874,
"delta": 0.0228,
"percent_delta": 0.0625,
"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.16), rates preserved: AVG=0.228 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1427,
"after": 0.0,
"delta": -0.1427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0,
"delta": -0.0134,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0051,
"after": 4.0,
"delta": -0.0051,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5157,
"after": 0.0,
"delta": -0.5157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9479,
"after": 1.0,
"delta": 0.0521,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1447,
"after": 0.0,
"delta": -0.1447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3756,
"after": 0.0,
"delta": -0.3756,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9606,
"after": 1.0,
"delta": 0.0394,
"percent_delta": 0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9479,
"after": 1.0,
"delta": 0.0521,
"percent_delta": 0.055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5157,
"after": 0.0,
"delta": -0.5157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4125,
"after": 0.0,
"delta": -0.4125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4125,
"after": 0.0,
"delta": -0.4125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.228,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.318,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.373,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2367,
"after": 0.228,
"delta": -0.0087,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3237,
"after": 0.318,
"delta": -0.0057,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3874,
"after": 0.373,
"delta": -0.0144,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3874,
"after": 0.373,
"delta": -0.0144,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2367,
"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.3237,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3874,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2367,
"delta": 0.0087,
"percent_delta": 0.038,
"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.318,
"after": 0.3237,
"delta": 0.0057,
"percent_delta": 0.0181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.373,
"after": 0.3874,
"delta": 0.0144,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.373,
"after": 0.3874,
"delta": 0.0144,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.16,
"after": 3.0,
"delta": -1.16,
"percent_delta": -0.2788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2367,
"delta": 0.0037,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3237,
"delta": 0.0177,
"percent_delta": 0.0578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 1.0,
"delta": 0.581,
"percent_delta": 1.3866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3874,
"delta": 0.0224,
"percent_delta": 0.0614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.992,
"after": 0.0,
"delta": -0.992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.419,
"after": 1.0,
"delta": 0.581,
"percent_delta": 1.3866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.16,
"after": 3.0,
"delta": -1.16,
"percent_delta": -0.2788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.161 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 4.160 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.556 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.365 | - |
| predicted_SO | 0.992 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | -0.018 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 4.005 | -0.155 |
| predicted_AVG | 0.230 | -0.003 |
| predicted_BB | 0.508 | -0.048 |
| predicted_H | 0.922 | -0.048 |
| predicted_HBP | 0.048 | - |
| predicted_HR | 0.141 | -0.009 |
| predicted_OBP | 0.308 | 0.003 |
| predicted_R | 0.393 | -0.026 |
| predicted_RBI | 0.357 | 0.007 |
| predicted_SLG | 0.365 | -0.000 |
| predicted_SO | 0.975 | -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.143 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.005 | 0.000 |
| predicted_AVG | 0.237 | 0.007 |
| predicted_BB | 0.516 | 0.008 |
| predicted_H | 0.948 | 0.026 |
| predicted_HBP | 0.048 | 0.000 |
| predicted_HR | 0.145 | 0.004 |
| predicted_OBP | 0.324 | 0.015 |
| predicted_R | 0.412 | 0.020 |
| predicted_RBI | 0.376 | 0.018 |
| predicted_SLG | 0.387 | 0.023 |
| predicted_SO | 0.961 | -0.014 |
AB rounded to 4 (raw=4.16), rates preserved: AVG=0.228 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.143 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | -0.005 |
| predicted_AVG | 0.228 | -0.009 |
| predicted_BB | 0.000 | -0.516 |
| predicted_H | 1.000 | 0.052 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.318 | -0.006 |
| predicted_R | 0.000 | -0.412 |
| predicted_RBI | 0.000 | -0.376 |
| predicted_SLG | 0.373 | -0.014 |
| predicted_SO | 1.000 | 0.039 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 5.000 | 0.1667 | 0.2500 | 0.3333 | 0.1667 | 0.0556 | 0.0556 | 0.1111 | 0.2778 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 8.000 | 0.2250 | 0.2619 | 0.3250 | 0.2250 | 0.0250 | 0.0250 | 0.0500 | 0.2000 |
| season | 0.60 | 124 | - | 472.000 | 115.000 | 20.000 | 2.000 | 14.000 | 62.000 | 52.000 | 69.000 | 123.000 | 0.2436 | 0.3495 | 0.3835 | 0.2436 | 0.0297 | 0.1314 | 0.1462 | 0.2606 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8040 |
| predicted_AVG | 0.2257 |
| predicted_BB | 0.4460 |
| predicted_H | 0.8590 |
| predicted_HBP | 0.0480 |
| predicted_HR | 0.1290 |
| predicted_OBP | 0.3117 |
| predicted_R | 0.3580 |
| predicted_RBI | 0.3670 |
| predicted_SLG | 0.3641 |
| predicted_SO | 0.9530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.1190 | 0.1427 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 4.1600 | 3.8040 | 4.0051 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2257 | 0.2298 | model_form_blend |
| predicted_BB | 0.5560 | 0.4460 | 0.5082 | model_form_blend |
| predicted_H | 0.9700 | 0.8590 | 0.9217 | model_form_blend |
| predicted_HBP | - | 0.0480 | 0.0480 | form_only |
| predicted_HR | 0.1500 | 0.1290 | 0.1409 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3117 | 0.3085 | model_form_blend |
| predicted_R | 0.4190 | 0.3580 | 0.3925 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3670 | 0.3574 | model_form_blend |
| predicted_SLG | 0.3650 | 0.3641 | 0.3646 | model_form_blend |
| predicted_SO | 0.9920 | 0.9530 | 0.9750 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 564 |
| Season rows before report date | 564 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 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 | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 683737 |
| playerID | 683737 |
| playerName | Michael Busch |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.33 |
| sl_xwoba | 0.331 |
| sl_xba | 0.234 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 39.1 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 43.9 |
| at_bat_number | 50.0 |
| ab_pitcher | 664353.0 |
| ab_pitcher_name | Urquidy, José |
| ab_home_team | CHC |
| ab_away_team | CWS |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| 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 | 1.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Michael Busch lines out softly to second baseman Chase Meidroth. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 53.3 |
| ab_launch_angle_last | 26.0 |
| ab_hit_distance_last | 140.0 |
| ab_estimated_ba_last | 0.177 |
| ab_estimated_woba_last | 0.159 |
| ab_estimated_slg_last | 0.202 |
| 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 | 1.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 82.3 |
| ab_release_spin_rate_avg | 2200.0 |
| ab_effective_speed_avg | 81.9 |
| ab_launch_speed_avg | 53.3 |
| ab_launch_angle_avg | 26.0 |
| ab_delta_run_exp_avg | -0.262 |
| ab_delta_home_win_exp_avg | -0.037 |
| ab_delta_pitcher_run_exp_avg | 0.262 |
| ab_bat_speed_avg | 51.6 |
| ab_swing_length_avg | 7.3 |
| ab_launch_speed_max | 53.3 |
| ab_hit_distance_sc_max | 140.0 |
| ab_release_speed_max | 82.3 |
| ab_release_spin_rate_max | 2200.0 |
| ab_release_speed_min | 82.3 |
| ab_release_spin_rate_min | 2200.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.037 |
| 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.198 | 0.000 | 0.000 | Hitting_2B | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_3B | 0.056 | 0.000 | 0.000 | Hitting_3B | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_AB | 5.520 | 4.000 | 6.000 | Hitting_AB | 3.894 | 4.000 | 0.106 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.167 | Hitting_AVG | 0.295 | 0.000 | -0.295 | 0.000 |
| predicted_BB | 0.532 | 0.000 | 1.000 | Hitting_BB | 0.562 | 0.000 | -0.562 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 1.310 | 0.000 | 1.000 | Hitting_H | 1.150 | 0.000 | -1.150 | 0.000 |
| predicted_HR | 0.460 | 0.000 | 1.000 | Hitting_HR | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_OBP | 0.356 | 0.000 | 0.286 | Hitting_OBP | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_R | 0.706 | 0.000 | 1.000 | Hitting_R | 0.748 | 0.000 | -0.748 | 0.000 |
| predicted_RBI | 0.950 | 0.000 | 1.000 | Hitting_RBI | 0.685 | 0.000 | -0.685 | 0.000 |
| predicted_SLG | 0.574 | 0.000 | 0.667 | Hitting_SLG | 0.585 | 0.000 | -0.585 | 0.000 |
| predicted_SO | 1.183 | 4.000 | 1.000 | Hitting_SO | 1.220 | 1.000 | 2.780 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 1.1830 -> 4.0000 (boost 2.8170, worse) |
| Biggest Deboost | predicted_AB: 5.5200 -> 4.0000 (deboost -1.5200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 2 | 3 | predicted_SLG: 0.5740 -> 0.5957 (boost 0.0217, better) | predicted_AB: 5.5200 -> 4.8629 (deboost -0.6571, worse) | Final model input calibrated with local 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.3550 -> 0.3277 (deboost -0.0273, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_AB: 4.8629 -> 6.0000 (boost 1.1371, better) | predicted_HR: 0.4385 -> 0.0000 (deboost -0.4385, worse) | AB rounded to 6 (raw=5.52), rates preserved: AVG=0.224 HR/AB=0.079 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7535 -> 1.0000 (boost 0.2465, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 4.0000 (boost 3.0000, worse) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5170 -> 0.5863 (boost 0.0693, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.198,
"predicted_3B": 0.056,
"predicted_AB": 5.52,
"predicted_AVG": 0.238,
"predicted_BB": 0.532,
"predicted_H": 1.31,
"predicted_HR": 0.46,
"predicted_OBP": 0.356,
"predicted_R": 0.706,
"predicted_RBI": 0.95,
"predicted_SLG": 0.574,
"predicted_SO": 1.183
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2058,
"predicted_3B": 0.0464,
"predicted_AB": 4.8629,
"predicted_AVG": 0.2499,
"predicted_BB": 0.5224,
"predicted_H": 1.203,
"predicted_HBP": 0.054,
"predicted_HR": 0.4269,
"predicted_OBP": 0.355,
"predicted_R": 0.7169,
"predicted_RBI": 0.8651,
"predicted_SLG": 0.5957,
"predicted_SO": 1.2021
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.2058,
"delta": 0.0078,
"percent_delta": 0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0464,
"delta": -0.0096,
"percent_delta": -0.1714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.52,
"after": 4.8629,
"delta": -0.6571,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2499,
"delta": 0.0119,
"percent_delta": 0.05,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.532,
"after": 0.5224,
"delta": -0.0096,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.31,
"after": 1.203,
"delta": -0.107,
"percent_delta": -0.0817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.46,
"after": 0.4269,
"delta": -0.0331,
"percent_delta": -0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.355,
"delta": -0.001,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.706,
"after": 0.7169,
"delta": 0.0109,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.95,
"after": 0.8651,
"delta": -0.0849,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.574,
"after": 0.5957,
"delta": 0.0217,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.183,
"after": 1.2021,
"delta": 0.0191,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.574,
"after": 0.5957,
"delta": 0.0217,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.52,
"after": 4.8629,
"delta": -0.6571,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2058,
"predicted_3B": 0.0464,
"predicted_AB": 4.8629,
"predicted_AVG": 0.2544,
"predicted_BB": 0.5301,
"predicted_H": 1.2372,
"predicted_HBP": 0.054,
"predicted_HR": 0.4385,
"predicted_OBP": 0.3277,
"predicted_R": 0.7535,
"predicted_RBI": 0.9092,
"predicted_SLG": 0.5863,
"predicted_SO": 1.1843
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2058,
"after": 0.2058,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0464,
"after": 0.0464,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8629,
"after": 4.8629,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2499,
"after": 0.2544,
"delta": 0.0045,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5224,
"after": 0.5301,
"delta": 0.0077,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.203,
"after": 1.2372,
"delta": 0.0342,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4269,
"after": 0.4385,
"delta": 0.0116,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3277,
"delta": -0.0273,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7169,
"after": 0.7535,
"delta": 0.0366,
"percent_delta": 0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8651,
"after": 0.9092,
"delta": 0.0441,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5957,
"after": 0.5863,
"delta": -0.0094,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2021,
"after": 1.1843,
"delta": -0.0178,
"percent_delta": -0.0148,
"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.355,
"after": 0.3277,
"delta": -0.0273,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.52), rates preserved: AVG=0.224 HR/AB=0.079",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2058,
"after": 0.0,
"delta": -0.2058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0464,
"after": 0.0,
"delta": -0.0464,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.8629,
"after": 6.0,
"delta": 1.1371,
"percent_delta": 0.2338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5301,
"after": 1.0,
"delta": 0.4699,
"percent_delta": 0.8864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2372,
"after": 1.0,
"delta": -0.2372,
"percent_delta": -0.1917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4385,
"after": 0.0,
"delta": -0.4385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9092,
"after": 1.0,
"delta": 0.0908,
"percent_delta": 0.0999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1843,
"after": 1.0,
"delta": -0.1843,
"percent_delta": -0.1556,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.8629,
"after": 6.0,
"delta": 1.1371,
"percent_delta": 0.2338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4385,
"after": 0.0,
"delta": -0.4385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7535,
"after": 1.0,
"delta": 0.2465,
"percent_delta": 0.3271,
"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.7535,
"after": 1.0,
"delta": 0.2465,
"percent_delta": 0.3271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.224,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.298,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.517,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2544,
"after": 0.224,
"delta": -0.0304,
"percent_delta": -0.1195,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3277,
"after": 0.298,
"delta": -0.0297,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5863,
"after": 0.517,
"delta": -0.0693,
"percent_delta": -0.1182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_HR",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2544,
"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.3277,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5863,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2544,
"delta": 0.0304,
"percent_delta": 0.1358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3277,
"delta": 0.0297,
"percent_delta": 0.0997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.517,
"after": 0.5863,
"delta": 0.0693,
"percent_delta": 0.1341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.517,
"after": 0.5863,
"delta": 0.0693,
"percent_delta": 0.1341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.52,
"after": 4.0,
"delta": -1.52,
"percent_delta": -0.2754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2544,
"delta": 0.0164,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.31,
"after": 0.0,
"delta": -1.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3277,
"delta": -0.0283,
"percent_delta": -0.0795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.706,
"after": 0.0,
"delta": -0.706,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.574,
"after": 0.5863,
"delta": 0.0123,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.183,
"after": 4.0,
"delta": 2.817,
"percent_delta": 2.3812,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.183,
"after": 4.0,
"delta": 2.817,
"percent_delta": 2.3812,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.52,
"after": 4.0,
"delta": -1.52,
"percent_delta": -0.2754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.198 | - |
| predicted_3B | 0.056 | - |
| predicted_AB | 5.520 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.532 | - |
| predicted_H | 1.310 | - |
| predicted_HR | 0.460 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.706 | - |
| predicted_RBI | 0.950 | - |
| predicted_SLG | 0.574 | - |
| predicted_SO | 1.183 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.206 | 0.008 |
| predicted_3B | 0.046 | -0.010 |
| predicted_AB | 4.863 | -0.657 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 0.522 | -0.010 |
| predicted_H | 1.203 | -0.107 |
| predicted_HBP | 0.054 | - |
| predicted_HR | 0.427 | -0.033 |
| predicted_OBP | 0.355 | -0.001 |
| predicted_R | 0.717 | 0.011 |
| predicted_RBI | 0.865 | -0.085 |
| predicted_SLG | 0.596 | 0.022 |
| predicted_SO | 1.202 | 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.206 | 0.000 |
| predicted_3B | 0.046 | 0.000 |
| predicted_AB | 4.863 | 0.000 |
| predicted_AVG | 0.254 | 0.005 |
| predicted_BB | 0.530 | 0.008 |
| predicted_H | 1.237 | 0.034 |
| predicted_HBP | 0.054 | 0.000 |
| predicted_HR | 0.439 | 0.012 |
| predicted_OBP | 0.328 | -0.027 |
| predicted_R | 0.753 | 0.037 |
| predicted_RBI | 0.909 | 0.044 |
| predicted_SLG | 0.586 | -0.009 |
| predicted_SO | 1.184 | -0.018 |
AB rounded to 6 (raw=5.52), rates preserved: AVG=0.224 HR/AB=0.079
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.206 |
| predicted_3B | 0.000 | -0.046 |
| predicted_AB | 6.000 | 1.137 |
| predicted_AVG | 0.224 | -0.030 |
| predicted_BB | 1.000 | 0.470 |
| predicted_H | 1.000 | -0.237 |
| predicted_HR | 0.000 | -0.439 |
| predicted_OBP | 0.298 | -0.030 |
| predicted_R | 1.000 | 0.247 |
| predicted_RBI | 1.000 | 0.091 |
| predicted_SLG | 0.517 | -0.069 |
| predicted_SO | 1.000 | -0.184 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 4.000 | 3.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 0.000 | 4.000 | 6.000 | 4.000 | 3.000 | 6.000 | 0.2857 | 0.3750 | 0.9048 | 0.2857 | 0.1905 | 0.2857 | 0.1429 | 0.2857 |
| last_10 | 0.20 | 10 | - | 45.000 | 9.000 | 3.000 | 0.000 | 5.000 | 8.000 | 8.000 | 4.000 | 15.000 | 0.2000 | 0.2653 | 0.6000 | 0.2000 | 0.1111 | 0.1778 | 0.0889 | 0.3333 |
| season | 0.60 | 126 | - | 479.000 | 135.000 | 25.000 | 7.000 | 31.000 | 79.000 | 89.000 | 67.000 | 149.000 | 0.2818 | 0.3804 | 0.5574 | 0.2818 | 0.0647 | 0.1649 | 0.1399 | 0.3111 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0340 |
| predicted_AB | 4.0100 |
| predicted_AVG | 0.2653 |
| predicted_BB | 0.5100 |
| predicted_H | 1.0640 |
| predicted_HBP | 0.0540 |
| predicted_HR | 0.3840 |
| predicted_OBP | 0.3537 |
| predicted_R | 0.7310 |
| predicted_RBI | 0.7550 |
| predicted_SLG | 0.6238 |
| predicted_SO | 1.2270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1980 | 0.2160 | 0.2058 | model_form_blend |
| predicted_3B | 0.0560 | 0.0340 | 0.0464 | model_form_blend |
| predicted_AB | 5.5200 | 4.0100 | 4.8629 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2653 | 0.2499 | model_form_blend |
| predicted_BB | 0.5320 | 0.5100 | 0.5224 | model_form_blend |
| predicted_H | 1.3100 | 1.0640 | 1.2030 | model_form_blend |
| predicted_HBP | - | 0.0540 | 0.0540 | form_only |
| predicted_HR | 0.4600 | 0.3840 | 0.4269 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3537 | 0.3550 | model_form_blend |
| predicted_R | 0.7060 | 0.7310 | 0.7169 | model_form_blend |
| predicted_RBI | 0.9500 | 0.7550 | 0.8651 | model_form_blend |
| predicted_SLG | 0.5740 | 0.6238 | 0.5957 | model_form_blend |
| predicted_SO | 1.1830 | 1.2270 | 1.2021 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 568 |
| Season rows before report date | 568 |
| Report year | 2026 |
| Profile rows used | 126 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 4 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 691718 |
| playerID | 691718 |
| playerName | Pete Crow-Armstrong |
| pos | CF |
| started | True |
| startingPosition | DH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.396 |
| sl_xwoba | 0.359 |
| sl_xba | 0.251 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 49.0 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 21.9 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 49.3 |
| at_bat_number | 68.0 |
| ab_pitcher | 691799.0 |
| ab_pitcher_name | Taylor, Grant |
| ab_home_team | CHC |
| ab_away_team | CWS |
| 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 | 3.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Pete Crow-Armstrong pops out to first baseman Munetaka Murakami in foul territory. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 95.6 |
| ab_launch_angle_last | 64.0 |
| ab_hit_distance_last | 107.0 |
| ab_estimated_ba_last | 0.014 |
| ab_estimated_woba_last | 0.014 |
| ab_estimated_slg_last | 0.019 |
| 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 | 3.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 82.1 |
| ab_release_spin_rate_avg | 2544.0 |
| ab_effective_speed_avg | 82.8 |
| ab_launch_speed_avg | 95.6 |
| ab_launch_angle_avg | 64.0 |
| ab_delta_run_exp_avg | -0.262 |
| ab_delta_home_win_exp_avg | -0.013 |
| ab_delta_pitcher_run_exp_avg | 0.262 |
| ab_bat_speed_avg | 76.1 |
| ab_swing_length_avg | 7.8 |
| ab_launch_speed_max | 95.6 |
| ab_hit_distance_sc_max | 107.0 |
| ab_release_speed_max | 82.1 |
| ab_release_spin_rate_max | 2544.0 |
| ab_release_speed_min | 82.1 |
| ab_release_spin_rate_min | 2544.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.013 |
| 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.220 | 0.000 | 0.000 | Hitting_2B | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.060 | 4.000 | 4.000 | Hitting_AB | 3.933 | 2.000 | 0.067 | 2.000 |
| predicted_AVG | 0.204 | 0.250 | 0.250 | Hitting_AVG | 0.273 | 0.000 | -0.023 | 0.250 |
| predicted_BB | 0.532 | 0.000 | 1.000 | Hitting_BB | 0.555 | 2.000 | -0.555 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 1.075 | 0.000 | -0.075 | 1.000 |
| predicted_HR | 0.220 | 0.000 | 1.000 | Hitting_HR | 0.208 | 0.000 | -0.208 | 0.000 |
| predicted_OBP | 0.337 | 0.250 | 0.400 | Hitting_OBP | 0.366 | 0.500 | -0.116 | -0.250 |
| predicted_R | 0.651 | 1.000 | 1.000 | Hitting_R | 0.703 | 0.000 | 0.297 | 1.000 |
| predicted_RBI | 0.640 | 0.000 | 1.000 | Hitting_RBI | 0.723 | 0.000 | -0.723 | 0.000 |
| predicted_SLG | 0.456 | 0.250 | 1.000 | Hitting_SLG | 0.490 | 0.000 | -0.240 | 0.250 |
| predicted_SO | 1.110 | 1.000 | 1.000 | Hitting_SO | 1.156 | 1.000 | -0.156 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.6510 -> 1.0000 (boost 0.3490, better) |
| Biggest Deboost | predicted_RBI: 0.6400 -> 0.0000 (deboost -0.6400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 2 | 2 | predicted_SO: 1.1100 -> 1.1749 (boost 0.0649, worse) | predicted_AB: 4.0600 -> 3.9531 (deboost -0.1069, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2200 -> 0.2258 (boost 0.0058, better) | predicted_OBP: 0.3386 -> 0.3208 (deboost -0.0178, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 4 | 2 | predicted_BB: 0.5526 -> 1.0000 (boost 0.4474, better) | predicted_2B: 0.2481 -> 0.0000 (deboost -0.2481, worse) | AB rounded to 4 (raw=4.06), rates preserved: AVG=0.220 HR/AB=0.055 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7055 -> 1.0000 (boost 0.2945, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.4586 -> 0.4730 (boost 0.0144, better) | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | 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 |
| 10 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3100 -> 0.3208 (boost 0.0108, better) | predicted_SLG: 0.4730 -> 0.4586 (deboost -0.0144, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"position": "RF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.22,
"predicted_3B": 0.0,
"predicted_AB": 4.06,
"predicted_AVG": 0.204,
"predicted_BB": 0.532,
"predicted_H": 0.83,
"predicted_HR": 0.22,
"predicted_OBP": 0.337,
"predicted_R": 0.651,
"predicted_RBI": 0.64,
"predicted_SLG": 0.456,
"predicted_SO": 1.11
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2481,
"predicted_3B": 0.0004,
"predicted_AB": 3.9531,
"predicted_AVG": 0.22,
"predicted_BB": 0.5445,
"predicted_H": 0.8681,
"predicted_HBP": 0.023,
"predicted_HR": 0.2178,
"predicted_OBP": 0.3386,
"predicted_R": 0.6713,
"predicted_RBI": 0.6223,
"predicted_SLG": 0.4688,
"predicted_SO": 1.1749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.22,
"after": 0.2481,
"delta": 0.0281,
"percent_delta": 0.1277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 3.9531,
"delta": -0.1069,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.22,
"delta": 0.016,
"percent_delta": 0.0784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.532,
"after": 0.5445,
"delta": 0.0125,
"percent_delta": 0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8681,
"delta": 0.0381,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2178,
"delta": -0.0022,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3386,
"delta": 0.0016,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.651,
"after": 0.6713,
"delta": 0.0203,
"percent_delta": 0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6223,
"delta": -0.0177,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4688,
"delta": 0.0128,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.11,
"after": 1.1749,
"delta": 0.0649,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.11,
"after": 1.1749,
"delta": 0.0649,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.06,
"after": 3.9531,
"delta": -0.1069,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 109
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2481,
"predicted_3B": 0.0004,
"predicted_AB": 3.9531,
"predicted_AVG": 0.2258,
"predicted_BB": 0.5526,
"predicted_H": 0.8928,
"predicted_HBP": 0.023,
"predicted_HR": 0.2237,
"predicted_OBP": 0.3208,
"predicted_R": 0.7055,
"predicted_RBI": 0.654,
"predicted_SLG": 0.4586,
"predicted_SO": 1.1575
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2481,
"after": 0.2481,
"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.9531,
"after": 3.9531,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2258,
"delta": 0.0058,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5445,
"after": 0.5526,
"delta": 0.0081,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8681,
"after": 0.8928,
"delta": 0.0247,
"percent_delta": 0.0285,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2178,
"after": 0.2237,
"delta": 0.0059,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3386,
"after": 0.3208,
"delta": -0.0178,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6713,
"after": 0.7055,
"delta": 0.0342,
"percent_delta": 0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6223,
"after": 0.654,
"delta": 0.0317,
"percent_delta": 0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4688,
"after": 0.4586,
"delta": -0.0102,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1749,
"after": 1.1575,
"delta": -0.0174,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_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.22,
"after": 0.2258,
"delta": 0.0058,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3386,
"after": 0.3208,
"delta": -0.0178,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.06), rates preserved: AVG=0.220 HR/AB=0.055",
"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.2481,
"after": 0.0,
"delta": -0.2481,
"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.9531,
"after": 4.0,
"delta": 0.0469,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5526,
"after": 1.0,
"delta": 0.4474,
"percent_delta": 0.8096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8928,
"after": 1.0,
"delta": 0.1072,
"percent_delta": 0.1201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2237,
"after": 0.0,
"delta": -0.2237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.654,
"after": 1.0,
"delta": 0.346,
"percent_delta": 0.5291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1575,
"after": 1.0,
"delta": -0.1575,
"percent_delta": -0.1361,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5526,
"after": 1.0,
"delta": 0.4474,
"percent_delta": 0.8096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2481,
"after": 0.0,
"delta": -0.2481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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.7055,
"after": 1.0,
"delta": 0.2945,
"percent_delta": 0.4174,
"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.7055,
"after": 1.0,
"delta": 0.2945,
"percent_delta": 0.4174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.216,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.473,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2258,
"after": 0.216,
"delta": -0.0098,
"percent_delta": -0.0434,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3208,
"after": 0.31,
"delta": -0.0108,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4586,
"after": 0.473,
"delta": 0.0144,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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_SLG",
"before": 0.4586,
"after": 0.473,
"delta": 0.0144,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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": 10,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2258,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3208,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4586,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2258,
"delta": 0.0098,
"percent_delta": 0.0455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3208,
"delta": 0.0108,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.473,
"after": 0.4586,
"delta": -0.0144,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.31,
"after": 0.3208,
"delta": 0.0108,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4586,
"delta": -0.0144,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 4.0,
"delta": -0.06,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.204,
"after": 0.2258,
"delta": 0.0218,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3208,
"delta": -0.0162,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.651,
"after": 1.0,
"delta": 0.349,
"percent_delta": 0.5361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4586,
"delta": 0.0026,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.11,
"after": 1.0,
"delta": -0.11,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.651,
"after": 1.0,
"delta": 0.349,
"percent_delta": 0.5361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.220 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.204 | - |
| predicted_BB | 0.532 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.651 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 1.110 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.248 | 0.028 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.953 | -0.107 |
| predicted_AVG | 0.220 | 0.016 |
| predicted_BB | 0.544 | 0.012 |
| predicted_H | 0.868 | 0.038 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.218 | -0.002 |
| predicted_OBP | 0.339 | 0.002 |
| predicted_R | 0.671 | 0.020 |
| predicted_RBI | 0.622 | -0.018 |
| predicted_SLG | 0.469 | 0.013 |
| predicted_SO | 1.175 | 0.065 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.248 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.953 | 0.000 |
| predicted_AVG | 0.226 | 0.006 |
| predicted_BB | 0.553 | 0.008 |
| predicted_H | 0.893 | 0.025 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.224 | 0.006 |
| predicted_OBP | 0.321 | -0.018 |
| predicted_R | 0.706 | 0.034 |
| predicted_RBI | 0.654 | 0.032 |
| predicted_SLG | 0.459 | -0.010 |
| predicted_SO | 1.157 | -0.017 |
AB rounded to 4 (raw=4.06), rates preserved: AVG=0.220 HR/AB=0.055
| 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=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.248 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.047 |
| predicted_AVG | 0.216 | -0.010 |
| predicted_BB | 1.000 | 0.447 |
| predicted_H | 1.000 | 0.107 |
| predicted_HR | 0.000 | -0.224 |
| predicted_OBP | 0.310 | -0.011 |
| predicted_R | 1.000 | 0.294 |
| predicted_RBI | 1.000 | 0.346 |
| predicted_SLG | 0.473 | 0.014 |
| predicted_SO | 1.000 | -0.157 |
Attached simulation box 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 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 2.000 | 0.000 | 1.000 | 1.000 | 4.000 | 4.000 | 9.000 | 0.1579 | 0.3043 | 0.4211 | 0.1579 | 0.0526 | 0.0526 | 0.2105 | 0.4737 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 4.000 | 0.000 | 3.000 | 8.000 | 8.000 | 5.000 | 13.000 | 0.2308 | 0.3182 | 0.5641 | 0.2308 | 0.0769 | 0.2051 | 0.1282 | 0.3333 |
| season | 0.60 | 109 | - | 413.000 | 112.000 | 24.000 | 0.000 | 22.000 | 74.000 | 71.000 | 58.000 | 121.000 | 0.2712 | 0.3640 | 0.4891 | 0.2712 | 0.0533 | 0.1792 | 0.1404 | 0.2930 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2850 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8130 |
| predicted_AVG | 0.2409 |
| predicted_BB | 0.5610 |
| predicted_H | 0.9180 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.2150 |
| predicted_OBP | 0.3407 |
| predicted_R | 0.6980 |
| predicted_RBI | 0.5990 |
| predicted_SLG | 0.4856 |
| predicted_SO | 1.2600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2200 | 0.2850 | 0.2481 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0600 | 3.8130 | 3.9531 | model_form_blend |
| predicted_AVG | 0.2040 | 0.2409 | 0.2200 | model_form_blend |
| predicted_BB | 0.5320 | 0.5610 | 0.5445 | model_form_blend |
| predicted_H | 0.8300 | 0.9180 | 0.8681 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.2200 | 0.2150 | 0.2178 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3407 | 0.3386 | model_form_blend |
| predicted_R | 0.6510 | 0.6980 | 0.6713 | model_form_blend |
| predicted_RBI | 0.6400 | 0.5990 | 0.6223 | model_form_blend |
| predicted_SLG | 0.4560 | 0.4856 | 0.4688 | model_form_blend |
| predicted_SO | 1.1100 | 1.2600 | 1.1749 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 481 |
| Season rows before report date | 481 |
| Report year | 2026 |
| Profile rows used | 109 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 673548 |
| playerID | 673548 |
| playerName | Seiya Suzuki |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.365 |
| sl_xwoba | 0.336 |
| sl_xba | 0.247 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 38.7 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 40.5 |
| at_bat_number | 69.0 |
| ab_pitcher | 691799.0 |
| ab_pitcher_name | Taylor, Grant |
| ab_home_team | CHC |
| ab_away_team | CWS |
| 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 | 3.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 3.0 |
| ab_event | walk |
| ab_event_description | Seiya Suzuki walks. |
| 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 | 1.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.46 |
| ab_release_spin_rate_avg | 2460.6 |
| ab_effective_speed_avg | 94.02 |
| ab_delta_run_exp_avg | 0.0672 |
| ab_delta_home_win_exp_avg | 0.002 |
| ab_delta_pitcher_run_exp_avg | -0.0672 |
| ab_release_speed_max | 98.8 |
| ab_release_spin_rate_max | 2680.0 |
| ab_release_speed_min | 88.0 |
| ab_release_spin_rate_min | 2142.0 |
| ab_delta_run_exp_sum | 0.336 |
| ab_delta_home_win_exp_sum | 0.01 |
| ab_delta_pitcher_run_exp_sum | -0.336 |
| 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.203 | 1.000 | 0.000 | Hitting_2B | 0.236 | 0.000 | 0.764 | 1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.992 | 4.000 | 4.000 | Hitting_AB | 4.146 | 3.000 | -0.146 | 1.000 |
| predicted_AVG | 0.265 | 0.500 | 0.250 | Hitting_AVG | 0.273 | 0.000 | 0.227 | 0.500 |
| predicted_BB | 0.317 | 0.000 | 0.000 | Hitting_BB | 0.347 | 0.000 | -0.347 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.057 | 2.000 | 1.000 | Hitting_H | 1.132 | 0.000 | 0.868 | 2.000 |
| predicted_HR | 0.057 | 1.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | 0.938 | 1.000 |
| predicted_OBP | 0.319 | 0.500 | 0.250 | Hitting_OBP | 0.331 | 0.000 | 0.169 | 0.500 |
| predicted_R | 0.407 | 1.000 | 0.000 | Hitting_R | 0.466 | 0.000 | 0.534 | 1.000 |
| predicted_RBI | 0.472 | 4.000 | 1.000 | Hitting_RBI | 0.514 | 0.000 | 3.486 | 4.000 |
| predicted_SLG | 0.363 | 1.500 | 0.250 | Hitting_SLG | 0.379 | 0.000 | 1.121 | 1.500 |
| predicted_SO | 0.374 | 1.000 | 0.000 | Hitting_SO | 0.364 | 1.000 | 0.636 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 1 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.4720 -> 4.0000 (boost 3.5280, better) |
| Biggest Deboost | predicted_BB: 0.3170 -> 0.0000 (deboost -0.3170, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2650 -> 0.2751 (boost 0.0101, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3626 -> 0.3712 (boost 0.0086, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_RBI: 0.4832 -> 0.0000 (deboost -0.4832, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.280 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4108 -> 0.0000 (deboost -0.4108, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 6 | 0 | 5 | 1 | predicted_RBI: 0.0000 -> 4.0000 (boost 4.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663538",
"player_name": "Nico Hoerner",
"position": "SS",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.008,
"predicted_AB": 3.992,
"predicted_AVG": 0.265,
"predicted_BB": 0.317,
"predicted_H": 1.057,
"predicted_HR": 0.057,
"predicted_OBP": 0.319,
"predicted_R": 0.407,
"predicted_RBI": 0.472,
"predicted_SLG": 0.363,
"predicted_SO": 0.374
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1852,
"predicted_3B": 0.0067,
"predicted_AB": 3.9559,
"predicted_AVG": 0.2751,
"predicted_BB": 0.2961,
"predicted_H": 1.0874,
"predicted_HBP": 0.039,
"predicted_HR": 0.0492,
"predicted_OBP": 0.3267,
"predicted_R": 0.3909,
"predicted_RBI": 0.4598,
"predicted_SLG": 0.3626,
"predicted_SO": 0.3557
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1852,
"delta": -0.0178,
"percent_delta": -0.0877,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0067,
"delta": -0.0013,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.992,
"after": 3.9559,
"delta": -0.0361,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2751,
"delta": 0.0101,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.2961,
"delta": -0.0209,
"percent_delta": -0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.057,
"after": 1.0874,
"delta": 0.0304,
"percent_delta": 0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.057,
"after": 0.0492,
"delta": -0.0078,
"percent_delta": -0.1368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3267,
"delta": 0.0077,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 0.3909,
"delta": -0.0161,
"percent_delta": -0.0396,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.472,
"after": 0.4598,
"delta": -0.0122,
"percent_delta": -0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3626,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.374,
"after": 0.3557,
"delta": -0.0183,
"percent_delta": -0.0489,
"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.265,
"after": 0.2751,
"delta": 0.0101,
"percent_delta": 0.0381,
"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": 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.1852,
"predicted_3B": 0.0067,
"predicted_AB": 3.9559,
"predicted_AVG": 0.2827,
"predicted_BB": 0.3005,
"predicted_H": 1.1183,
"predicted_HBP": 0.039,
"predicted_HR": 0.0505,
"predicted_OBP": 0.3333,
"predicted_R": 0.4108,
"predicted_RBI": 0.4832,
"predicted_SLG": 0.3712,
"predicted_SO": 0.3504
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1852,
"after": 0.1852,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9559,
"after": 3.9559,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2751,
"after": 0.2827,
"delta": 0.0076,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2961,
"after": 0.3005,
"delta": 0.0044,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0874,
"after": 1.1183,
"delta": 0.0309,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0492,
"after": 0.0505,
"delta": 0.0013,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3267,
"after": 0.3333,
"delta": 0.0066,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3909,
"after": 0.4108,
"delta": 0.0199,
"percent_delta": 0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4598,
"after": 0.4832,
"delta": 0.0234,
"percent_delta": 0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3626,
"after": 0.3712,
"delta": 0.0086,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3557,
"after": 0.3504,
"delta": -0.0053,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_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.3626,
"after": 0.3712,
"delta": 0.0086,
"percent_delta": 0.0237,
"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.99), rates preserved: AVG=0.280 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1852,
"after": 0.0,
"delta": -0.1852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0,
"delta": -0.0067,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9559,
"after": 4.0,
"delta": 0.0441,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3005,
"after": 0.0,
"delta": -0.3005,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1183,
"after": 1.0,
"delta": -0.1183,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0505,
"after": 0.0,
"delta": -0.0505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4832,
"after": 0.0,
"delta": -0.4832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3504,
"after": 0.0,
"delta": -0.3504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4832,
"after": 0.0,
"delta": -0.4832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4108,
"after": 0.0,
"delta": -0.4108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4108,
"after": 0.0,
"delta": -0.4108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_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_RBI",
"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": 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.28,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.336,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.368,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2827,
"after": 0.28,
"delta": -0.0027,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.336,
"delta": 0.0027,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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_SLG",
"before": 0.3712,
"after": 0.368,
"delta": -0.0032,
"percent_delta": -0.0086,
"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_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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 4.0,
"delta": 4.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 4.0,
"delta": 4.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2827,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3333,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3712,
"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.28,
"after": 0.2827,
"delta": 0.0027,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3333,
"delta": -0.0027,
"percent_delta": -0.008,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3712,
"delta": 0.0032,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.992,
"after": 4.0,
"delta": 0.008,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2827,
"delta": 0.0177,
"percent_delta": 0.0668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.057,
"after": 2.0,
"delta": 0.943,
"percent_delta": 0.8921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.057,
"after": 1.0,
"delta": 0.943,
"percent_delta": 16.5439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3333,
"delta": 0.0143,
"percent_delta": 0.0448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 1.0,
"delta": 0.593,
"percent_delta": 1.457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.472,
"after": 4.0,
"delta": 3.528,
"percent_delta": 7.4746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3712,
"delta": 0.0082,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.374,
"after": 1.0,
"delta": 0.626,
"percent_delta": 1.6738,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 9,
"deboosted_metrics": 1,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.472,
"after": 4.0,
"delta": 3.528,
"percent_delta": 7.4746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.992 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.317 | - |
| predicted_H | 1.057 | - |
| predicted_HR | 0.057 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.407 | - |
| predicted_RBI | 0.472 | - |
| predicted_SLG | 0.363 | - |
| predicted_SO | 0.374 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | -0.018 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.956 | -0.036 |
| predicted_AVG | 0.275 | 0.010 |
| predicted_BB | 0.296 | -0.021 |
| predicted_H | 1.087 | 0.030 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.049 | -0.008 |
| predicted_OBP | 0.327 | 0.008 |
| predicted_R | 0.391 | -0.016 |
| predicted_RBI | 0.460 | -0.012 |
| predicted_SLG | 0.363 | -0.000 |
| predicted_SO | 0.356 | -0.018 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.956 | 0.000 |
| predicted_AVG | 0.283 | 0.008 |
| predicted_BB | 0.300 | 0.004 |
| predicted_H | 1.118 | 0.031 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.051 | 0.001 |
| predicted_OBP | 0.333 | 0.007 |
| predicted_R | 0.411 | 0.020 |
| predicted_RBI | 0.483 | 0.023 |
| predicted_SLG | 0.371 | 0.009 |
| predicted_SO | 0.350 | -0.005 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.280 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.185 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.044 |
| predicted_AVG | 0.280 | -0.003 |
| predicted_BB | 0.000 | -0.300 |
| predicted_H | 1.000 | -0.118 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.336 | 0.003 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 0.000 | -0.483 |
| predicted_SLG | 0.368 | -0.003 |
| predicted_SO | 0.000 | -0.350 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 4.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 1.000 | 0.3158 | 0.3500 | 0.3158 | 0.3158 | 0.0000 | 0.1053 | 0.0526 | 0.0526 |
| last_10 | 0.20 | 10 | - | 38.000 | 13.000 | 2.000 | 0.000 | 0.000 | 4.000 | 4.000 | 2.000 | 2.000 | 0.3421 | 0.3810 | 0.3947 | 0.3421 | 0.0000 | 0.1053 | 0.0526 | 0.0526 |
| season | 0.60 | 123 | - | 491.000 | 130.000 | 25.000 | 1.000 | 7.000 | 58.000 | 50.000 | 39.000 | 46.000 | 0.2648 | 0.3204 | 0.3625 | 0.2648 | 0.0143 | 0.1181 | 0.0794 | 0.0937 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.9090 |
| predicted_AVG | 0.2882 |
| predicted_BB | 0.2690 |
| predicted_H | 1.1270 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3367 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.4440 |
| predicted_SLG | 0.3621 |
| predicted_SO | 0.3320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1620 | 0.1852 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 3.9920 | 3.9090 | 3.9559 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2882 | 0.2751 | model_form_blend |
| predicted_BB | 0.3170 | 0.2690 | 0.2961 | model_form_blend |
| predicted_H | 1.0570 | 1.1270 | 1.0874 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.0570 | 0.0390 | 0.0492 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3367 | 0.3267 | model_form_blend |
| predicted_R | 0.4070 | 0.3700 | 0.3909 | model_form_blend |
| predicted_RBI | 0.4720 | 0.4440 | 0.4598 | model_form_blend |
| predicted_SLG | 0.3630 | 0.3621 | 0.3626 | model_form_blend |
| predicted_SO | 0.3740 | 0.3320 | 0.3557 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 547 |
| Season rows before report date | 547 |
| 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 | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 4 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | SS |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 663538 |
| playerID | 663538 |
| playerName | Nico Hoerner |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 8.6 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.305 |
| sl_xwoba | 0.326 |
| sl_xba | 0.301 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 1.1 |
| sl_hard_hit_percent | 28.1 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 12.0 |
| sl_swing_percent | 46.0 |
| at_bat_number | 51.0 |
| ab_pitcher | 664353.0 |
| ab_pitcher_name | Urquidy, José |
| ab_home_team | CHC |
| ab_away_team | CWS |
| 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_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Nico Hoerner grounds out, second baseman Chase Meidroth to first baseman Munetaka Murakami. |
| 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 | 82.9 |
| ab_launch_angle_last | 1.0 |
| ab_hit_distance_last | 48.0 |
| ab_estimated_ba_last | 0.267 |
| ab_estimated_woba_last | 0.24 |
| ab_estimated_slg_last | 0.307 |
| 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 | 1.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 89.4 |
| ab_release_spin_rate_avg | 2201.0 |
| ab_effective_speed_avg | 88.78 |
| ab_launch_speed_avg | 77.15 |
| ab_launch_angle_avg | 14.0 |
| ab_delta_run_exp_avg | -0.0518 |
| ab_delta_home_win_exp_avg | -0.0048 |
| ab_delta_pitcher_run_exp_avg | 0.0518 |
| ab_bat_speed_avg | 64.1 |
| ab_swing_length_avg | 7.75 |
| ab_launch_speed_max | 82.9 |
| ab_hit_distance_sc_max | 356.0 |
| ab_release_speed_max | 94.4 |
| ab_release_spin_rate_max | 2314.0 |
| ab_release_speed_min | 82.8 |
| ab_release_spin_rate_min | 2136.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | -0.024 |
| 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.194 | 0.000 | 1.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 4.810 | 2.000 | 5.000 | Hitting_AB | 4.028 | 4.000 | -2.028 | -2.000 |
| predicted_AVG | 0.218 | 0.000 | 0.200 | Hitting_AVG | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_BB | 0.508 | 2.000 | 1.000 | Hitting_BB | 0.541 | 0.000 | 1.459 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 1.050 | 0.000 | 1.000 | Hitting_H | 1.044 | 0.000 | -1.044 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_OBP | 0.328 | 0.500 | 0.333 | Hitting_OBP | 0.354 | 0.000 | 0.146 | 0.500 |
| predicted_R | 0.556 | 1.000 | 1.000 | Hitting_R | 0.585 | 0.000 | 0.415 | 1.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.534 | 0.000 | -0.534 | 0.000 |
| predicted_SLG | 0.394 | 0.000 | 0.400 | Hitting_SLG | 0.409 | 0.000 | -0.409 | 0.000 |
| predicted_SO | 0.718 | 2.000 | 1.000 | Hitting_SO | 0.708 | 1.000 | 1.292 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.5080 -> 2.0000 (boost 1.4920, better) |
| Biggest Deboost | predicted_AB: 4.8100 -> 2.0000 (deboost -2.8100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2180 -> 0.2467 (boost 0.0287, better) | predicted_AB: 4.8100 -> 4.4348 (deboost -0.3752, worse) | Final model input calibrated with local 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.3278 (deboost -0.0171, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 4.4348 -> 5.0000 (boost 0.5652, better) | predicted_2B: 0.1862 -> 0.0000 (deboost -0.1862, worse) | AB rounded to 5 (raw=4.81), rates preserved: AVG=0.231 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5482 -> 1.0000 (boost 0.4518, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 2.0000 (deboost -3.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3740 -> 0.4059 (boost 0.0319, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608324",
"player_name": "Alex Bregman",
"position": "3B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.194,
"predicted_3B": 0.008,
"predicted_AB": 4.81,
"predicted_AVG": 0.218,
"predicted_BB": 0.508,
"predicted_H": 1.05,
"predicted_HR": 0.16,
"predicted_OBP": 0.328,
"predicted_R": 0.556,
"predicted_RBI": 0.62,
"predicted_SLG": 0.394,
"predicted_SO": 0.718
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1862,
"predicted_3B": 0.0067,
"predicted_AB": 4.4348,
"predicted_AVG": 0.2467,
"predicted_BB": 0.5015,
"predicted_H": 1.0809,
"predicted_HBP": 0.038,
"predicted_HR": 0.1587,
"predicted_OBP": 0.3449,
"predicted_R": 0.5216,
"predicted_RBI": 0.62,
"predicted_SLG": 0.4186,
"predicted_SO": 0.6766
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.1862,
"delta": -0.0078,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0067,
"delta": -0.0013,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.81,
"after": 4.4348,
"delta": -0.3752,
"percent_delta": -0.078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2467,
"delta": 0.0287,
"percent_delta": 0.1317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.508,
"after": 0.5015,
"delta": -0.0065,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0809,
"delta": 0.0309,
"percent_delta": 0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1587,
"delta": -0.0013,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3449,
"delta": 0.0169,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.5216,
"delta": -0.0344,
"percent_delta": -0.0619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.62,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.4186,
"delta": 0.0246,
"percent_delta": 0.0624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.718,
"after": 0.6766,
"delta": -0.0414,
"percent_delta": -0.0577,
"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.218,
"after": 0.2467,
"delta": 0.0287,
"percent_delta": 0.1317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.81,
"after": 4.4348,
"delta": -0.3752,
"percent_delta": -0.078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1862,
"predicted_3B": 0.0067,
"predicted_AB": 4.4348,
"predicted_AVG": 0.2507,
"predicted_BB": 0.5089,
"predicted_H": 1.1116,
"predicted_HBP": 0.038,
"predicted_HR": 0.163,
"predicted_OBP": 0.3278,
"predicted_R": 0.5482,
"predicted_RBI": 0.6516,
"predicted_SLG": 0.4059,
"predicted_SO": 0.6666
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1862,
"after": 0.1862,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4348,
"after": 4.4348,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2467,
"after": 0.2507,
"delta": 0.004,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5015,
"after": 0.5089,
"delta": 0.0074,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0809,
"after": 1.1116,
"delta": 0.0307,
"percent_delta": 0.0284,
"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.1587,
"after": 0.163,
"delta": 0.0043,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3449,
"after": 0.3278,
"delta": -0.0171,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5216,
"after": 0.5482,
"delta": 0.0266,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6516,
"delta": 0.0316,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4186,
"after": 0.4059,
"delta": -0.0127,
"percent_delta": -0.0303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6766,
"after": 0.6666,
"delta": -0.01,
"percent_delta": -0.0148,
"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.3278,
"delta": -0.0171,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.81), rates preserved: AVG=0.231 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1862,
"after": 0.0,
"delta": -0.1862,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0,
"delta": -0.0067,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4348,
"after": 5.0,
"delta": 0.5652,
"percent_delta": 0.1274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5089,
"after": 1.0,
"delta": 0.4911,
"percent_delta": 0.965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1116,
"after": 1.0,
"delta": -0.1116,
"percent_delta": -0.1004,
"direction": "deboost",
"projection_effect": "worse",
"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.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6516,
"after": 1.0,
"delta": 0.3484,
"percent_delta": 0.5347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6666,
"after": 1.0,
"delta": 0.3334,
"percent_delta": 0.5002,
"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": 4.4348,
"after": 5.0,
"delta": 0.5652,
"percent_delta": 0.1274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1862,
"after": 0.0,
"delta": -0.1862,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5482,
"after": 1.0,
"delta": 0.4518,
"percent_delta": 0.8242,
"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.5482,
"after": 1.0,
"delta": 0.4518,
"percent_delta": 0.8242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.231,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.374,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2507,
"after": 0.231,
"delta": -0.0197,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3278,
"after": 0.31,
"delta": -0.0178,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4059,
"after": 0.374,
"delta": -0.0319,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 2.0,
"delta": -3.0,
"percent_delta": -0.6,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 2.0,
"delta": -3.0,
"percent_delta": -0.6,
"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.2507,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3278,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4059,
"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": 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.231,
"after": 0.2507,
"delta": 0.0197,
"percent_delta": 0.0851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3278,
"delta": 0.0178,
"percent_delta": 0.0574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.374,
"after": 0.4059,
"delta": 0.0319,
"percent_delta": 0.0854,
"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.374,
"after": 0.4059,
"delta": 0.0319,
"percent_delta": 0.0854,
"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.194,
"after": 0.0,
"delta": -0.194,
"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": 4.81,
"after": 2.0,
"delta": -2.81,
"percent_delta": -0.5842,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2507,
"delta": 0.0327,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.508,
"after": 2.0,
"delta": 1.492,
"percent_delta": 2.937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3278,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.4059,
"delta": 0.0119,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.718,
"after": 2.0,
"delta": 1.282,
"percent_delta": 1.7855,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.508,
"after": 2.0,
"delta": 1.492,
"percent_delta": 2.937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.81,
"after": 2.0,
"delta": -2.81,
"percent_delta": -0.5842,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.194 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.810 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.508 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 0.718 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.186 | -0.008 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.435 | -0.375 |
| predicted_AVG | 0.247 | 0.029 |
| predicted_BB | 0.501 | -0.007 |
| predicted_H | 1.081 | 0.031 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.159 | -0.001 |
| predicted_OBP | 0.345 | 0.017 |
| predicted_R | 0.522 | -0.034 |
| predicted_RBI | 0.620 | 0.000 |
| predicted_SLG | 0.419 | 0.025 |
| predicted_SO | 0.677 | -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.186 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.435 | 0.000 |
| predicted_AVG | 0.251 | 0.004 |
| predicted_BB | 0.509 | 0.007 |
| predicted_H | 1.112 | 0.031 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.163 | 0.004 |
| predicted_OBP | 0.328 | -0.017 |
| predicted_R | 0.548 | 0.027 |
| predicted_RBI | 0.652 | 0.032 |
| predicted_SLG | 0.406 | -0.013 |
| predicted_SO | 0.667 | -0.010 |
AB rounded to 5 (raw=4.81), rates preserved: AVG=0.231 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.186 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 5.000 | 0.565 |
| predicted_AVG | 0.231 | -0.020 |
| predicted_BB | 1.000 | 0.491 |
| predicted_H | 1.000 | -0.112 |
| predicted_HR | 0.000 | -0.163 |
| predicted_OBP | 0.310 | -0.018 |
| predicted_R | 1.000 | 0.452 |
| predicted_RBI | 1.000 | 0.348 |
| predicted_SLG | 0.374 | -0.032 |
| predicted_SO | 1.000 | 0.333 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -3.000 |
| BB | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 2.000 | 0.3000 | 0.3636 | 0.3500 | 0.3000 | 0.0000 | 0.1000 | 0.1000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 39.000 | 14.000 | 1.000 | 0.000 | 4.000 | 12.000 | 7.000 | 6.000 | 5.000 | 0.3590 | 0.4444 | 0.6923 | 0.3590 | 0.1026 | 0.3077 | 0.1538 | 0.1282 |
| season | 0.60 | 124 | - | 491.000 | 126.000 | 24.000 | 1.000 | 16.000 | 63.000 | 69.000 | 63.000 | 89.000 | 0.2566 | 0.3474 | 0.4073 | 0.2566 | 0.0326 | 0.1283 | 0.1283 | 0.1813 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.9480 |
| predicted_AVG | 0.2839 |
| predicted_BB | 0.4930 |
| predicted_H | 1.1210 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.3668 |
| predicted_R | 0.4770 |
| predicted_RBI | 0.6200 |
| predicted_SLG | 0.4506 |
| predicted_SO | 0.6230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.1760 | 0.1862 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 4.8100 | 3.9480 | 4.4348 | model_form_blend |
| predicted_AVG | 0.2180 | 0.2839 | 0.2467 | model_form_blend |
| predicted_BB | 0.5080 | 0.4930 | 0.5015 | model_form_blend |
| predicted_H | 1.0500 | 1.1210 | 1.0809 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.1600 | 0.1570 | 0.1587 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3668 | 0.3449 | model_form_blend |
| predicted_R | 0.5560 | 0.4770 | 0.5216 | model_form_blend |
| predicted_RBI | 0.6200 | 0.6200 | 0.6200 | model_form_blend |
| predicted_SLG | 0.3940 | 0.4506 | 0.4186 | model_form_blend |
| predicted_SO | 0.7180 | 0.6230 | 0.6766 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 569 |
| Season rows before report date | 569 |
| 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 2 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 608324 |
| playerID | 608324 |
| playerName | Alex Bregman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.332 |
| sl_xwoba | 0.315 |
| sl_xba | 0.245 |
| sl_xslg | 0.367 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 15.4 |
| sl_swing_percent | 41.2 |
| at_bat_number | 70.0 |
| ab_pitcher | 691799.0 |
| ab_pitcher_name | Taylor, Grant |
| ab_home_team | CHC |
| ab_away_team | CWS |
| 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_on_1b_start | 673548.0 |
| ab_on_2b_start | 673548.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 | 0.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Alex Bregman called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 9.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 | 3.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 93.4 |
| ab_release_spin_rate_avg | 2378.0 |
| ab_effective_speed_avg | 95.13333333333333 |
| ab_delta_run_exp_avg | -0.093 |
| ab_delta_home_win_exp_avg | -0.005 |
| ab_delta_pitcher_run_exp_avg | 0.093 |
| ab_release_speed_max | 99.5 |
| ab_release_spin_rate_max | 2565.0 |
| ab_release_speed_min | 84.1 |
| ab_release_spin_rate_min | 2250.0 |
| ab_delta_run_exp_sum | -0.279 |
| ab_delta_home_win_exp_sum | -0.015 |
| ab_delta_pitcher_run_exp_sum | 0.279 |
| 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.208 | 1.000 | 1.000 | Hitting_2B | 0.299 | 0.000 | 0.701 | 1.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 2.900 | 4.000 | 3.000 | Hitting_AB | 3.383 | 2.000 | 0.617 | 2.000 |
| predicted_AVG | 0.271 | 0.500 | 0.333 | Hitting_AVG | 0.315 | 0.000 | 0.185 | 0.500 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.318 | 1.000 | -0.318 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.790 | 2.000 | 1.000 | Hitting_H | 1.065 | 0.000 | 0.935 | 2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_OBP | 0.307 | 0.500 | 0.333 | Hitting_OBP | 0.372 | 0.333 | 0.128 | 0.167 |
| predicted_R | 0.396 | 1.000 | 0.000 | Hitting_R | 0.643 | 0.000 | 0.357 | 1.000 |
| predicted_RBI | 0.280 | 1.000 | 0.000 | Hitting_RBI | 0.435 | 0.000 | 0.565 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_SLG | 0.375 | 0.750 | 0.667 | Hitting_SLG | 0.463 | 0.000 | 0.287 | 0.750 |
| predicted_SO | 0.583 | 1.000 | 1.000 | Hitting_SO | 0.695 | 1.000 | 0.305 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 2 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.7900 -> 2.0000 (boost 1.2100, better) |
| Biggest Deboost | predicted_BB: 0.2500 -> 0.0000 (deboost -0.2500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 3 | 1 | predicted_AB: 2.9000 -> 2.9993 (boost 0.0993, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3838 -> 0.4201 (boost 0.0363, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6493 -> 1.0000 (boost 0.3507, worse) | predicted_RBI: 0.2859 -> 0.0000 (deboost -0.2859, worse) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.278 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4204 -> 0.0000 (deboost -0.4204, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3370 -> 0.3420 (boost 0.0050, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699393",
"player_name": "Pedro Ramirez",
"position": "2B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.021,
"predicted_AB": 2.9,
"predicted_AVG": 0.271,
"predicted_BB": 0.25,
"predicted_H": 0.79,
"predicted_HR": 0.06,
"predicted_OBP": 0.307,
"predicted_R": 0.396,
"predicted_RBI": 0.28,
"predicted_SLG": 0.375,
"predicted_SO": 0.583
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2068,
"predicted_3B": 0.0182,
"predicted_AB": 2.9993,
"predicted_AVG": 0.2693,
"predicted_BB": 0.2644,
"predicted_H": 0.81,
"predicted_HBP": 0.005,
"predicted_HR": 0.0596,
"predicted_OBP": 0.3155,
"predicted_R": 0.4,
"predicted_RBI": 0.272,
"predicted_SLG": 0.3838,
"predicted_SO": 0.6591
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.2068,
"delta": -0.0012,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0182,
"delta": -0.0028,
"percent_delta": -0.1333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9,
"after": 2.9993,
"delta": 0.0993,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2693,
"delta": -0.0017,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.2644,
"delta": 0.0144,
"percent_delta": 0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.81,
"delta": 0.02,
"percent_delta": 0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0596,
"delta": -0.0004,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3155,
"delta": 0.0085,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.396,
"after": 0.4,
"delta": 0.004,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.272,
"delta": -0.008,
"percent_delta": -0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3838,
"delta": 0.0088,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.583,
"after": 0.6591,
"delta": 0.0761,
"percent_delta": 0.1305,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.9,
"after": 2.9993,
"delta": 0.0993,
"percent_delta": 0.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 48
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2068,
"predicted_3B": 0.0182,
"predicted_AB": 2.9993,
"predicted_AVG": 0.2777,
"predicted_BB": 0.2683,
"predicted_H": 0.833,
"predicted_HBP": 0.005,
"predicted_HR": 0.0612,
"predicted_OBP": 0.337,
"predicted_R": 0.4204,
"predicted_RBI": 0.2859,
"predicted_SLG": 0.4201,
"predicted_SO": 0.6493
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2068,
"after": 0.2068,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0182,
"after": 0.0182,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9993,
"after": 2.9993,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2693,
"after": 0.2777,
"delta": 0.0084,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2644,
"after": 0.2683,
"delta": 0.0039,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.833,
"delta": 0.023,
"percent_delta": 0.0284,
"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.0596,
"after": 0.0612,
"delta": 0.0016,
"percent_delta": 0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3155,
"after": 0.337,
"delta": 0.0215,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4204,
"delta": 0.0204,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.272,
"after": 0.2859,
"delta": 0.0139,
"percent_delta": 0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3838,
"after": 0.4201,
"delta": 0.0363,
"percent_delta": 0.0946,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6591,
"after": 0.6493,
"delta": -0.0098,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_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.3838,
"after": 0.4201,
"delta": 0.0363,
"percent_delta": 0.0946,
"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.00), rates preserved: AVG=0.278 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2068,
"after": 0.0,
"delta": -0.2068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0182,
"after": 0.0,
"delta": -0.0182,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9993,
"after": 3.0,
"delta": 0.0007,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2683,
"after": 0.0,
"delta": -0.2683,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"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.0612,
"after": 0.0,
"delta": -0.0612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2859,
"after": 0.0,
"delta": -0.2859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6493,
"after": 1.0,
"delta": 0.3507,
"percent_delta": 0.5401,
"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.6493,
"after": 1.0,
"delta": 0.3507,
"percent_delta": 0.5401,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2859,
"after": 0.0,
"delta": -0.2859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4204,
"after": 0.0,
"delta": -0.4204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4204,
"after": 0.0,
"delta": -0.4204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.278,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.342,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.42,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2777,
"after": 0.278,
"delta": 0.0003,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.342,
"delta": 0.005,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4201,
"after": 0.42,
"delta": -0.0001,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.342,
"delta": 0.005,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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": 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.2777,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.337,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4201,
"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.278,
"after": 0.2777,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.342,
"after": 0.337,
"delta": -0.005,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4201,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 1.0,
"delta": 0.792,
"percent_delta": 3.8077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9,
"after": 4.0,
"delta": 1.1,
"percent_delta": 0.3793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2777,
"delta": 0.0067,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 2.0,
"delta": 1.21,
"percent_delta": 1.5316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.337,
"delta": 0.03,
"percent_delta": 0.0977,
"direction": "boost",
"projection_effect": "better",
"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.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.4201,
"delta": 0.0451,
"percent_delta": 0.1203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.583,
"after": 1.0,
"delta": 0.417,
"percent_delta": 0.7153,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.79,
"after": 2.0,
"delta": 1.21,
"percent_delta": 1.5316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"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.208 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 2.900 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.396 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.375 | - |
| predicted_SO | 0.583 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.207 | -0.001 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 2.999 | 0.099 |
| predicted_AVG | 0.269 | -0.002 |
| predicted_BB | 0.264 | 0.014 |
| predicted_H | 0.810 | 0.020 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.060 | -0.000 |
| predicted_OBP | 0.316 | 0.009 |
| predicted_R | 0.400 | 0.004 |
| predicted_RBI | 0.272 | -0.008 |
| predicted_SLG | 0.384 | 0.009 |
| predicted_SO | 0.659 | 0.076 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.207 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 2.999 | 0.000 |
| predicted_AVG | 0.278 | 0.008 |
| predicted_BB | 0.268 | 0.004 |
| predicted_H | 0.833 | 0.023 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.061 | 0.002 |
| predicted_OBP | 0.337 | 0.022 |
| predicted_R | 0.420 | 0.020 |
| predicted_RBI | 0.286 | 0.014 |
| predicted_SLG | 0.420 | 0.036 |
| predicted_SO | 0.649 | -0.010 |
AB rounded to 3 (raw=3.00), rates preserved: AVG=0.278 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.207 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | 0.001 |
| predicted_AVG | 0.278 | 0.000 |
| predicted_BB | 0.000 | -0.268 |
| predicted_H | 1.000 | 0.167 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.342 | 0.005 |
| predicted_R | 0.000 | -0.420 |
| predicted_RBI | 0.000 | -0.286 |
| predicted_SLG | 0.420 | -0.000 |
| predicted_SO | 1.000 | 0.351 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 6.000 | 0.2222 | 0.3000 | 0.2778 | 0.2222 | 0.0000 | 0.0000 | 0.1111 | 0.3333 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 2.000 | 0.000 | 1.000 | 1.000 | 5.000 | 3.000 | 9.000 | 0.2581 | 0.3235 | 0.4194 | 0.2581 | 0.0323 | 0.0323 | 0.0968 | 0.2903 |
| season | 0.60 | 48 | - | 134.000 | 39.000 | 10.000 | 1.000 | 2.000 | 15.000 | 19.000 | 12.000 | 28.000 | 0.2910 | 0.3469 | 0.4254 | 0.2910 | 0.0149 | 0.1119 | 0.0896 | 0.2090 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2050 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.1480 |
| predicted_AVG | 0.2668 |
| predicted_BB | 0.2860 |
| predicted_H | 0.8400 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.3282 |
| predicted_R | 0.4060 |
| predicted_RBI | 0.2600 |
| predicted_SLG | 0.3969 |
| predicted_SO | 0.7730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2080 | 0.2050 | 0.2068 | model_form_blend |
| predicted_3B | 0.0210 | 0.0140 | 0.0182 | model_form_blend |
| predicted_AB | 2.9000 | 3.1480 | 2.9993 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2668 | 0.2693 | model_form_blend |
| predicted_BB | 0.2500 | 0.2860 | 0.2644 | model_form_blend |
| predicted_H | 0.7900 | 0.8400 | 0.8100 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0600 | 0.0590 | 0.0596 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3282 | 0.3155 | model_form_blend |
| predicted_R | 0.3960 | 0.4060 | 0.4000 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2600 | 0.2720 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3969 | 0.3838 | model_form_blend |
| predicted_SO | 0.5830 | 0.7730 | 0.6591 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 154 |
| Season rows before report date | 154 |
| Report year | 2026 |
| Profile rows used | 48 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 699393 |
| playerID | 699393 |
| playerName | Pedro Ramirez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.33 |
| sl_xwoba | 0.295 |
| sl_xba | 0.263 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 41.3 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 8.9 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 50.5 |
| at_bat_number | 58.0 |
| ab_pitcher | 664353.0 |
| ab_pitcher_name | Urquidy, José |
| ab_home_team | CHC |
| ab_away_team | CWS |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| 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 | 0.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Pedro Ramírez flies out to left fielder Sam Antonacci. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 86.2 |
| ab_launch_angle_last | 50.0 |
| ab_hit_distance_last | 261.0 |
| ab_estimated_ba_last | 0.009 |
| ab_estimated_woba_last | 0.01 |
| ab_estimated_slg_last | 0.016 |
| 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 | 0.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 78.2 |
| ab_release_spin_rate_avg | 2285.0 |
| ab_effective_speed_avg | 77.96666666666667 |
| ab_launch_speed_avg | 74.35 |
| ab_launch_angle_avg | -1.0 |
| ab_delta_run_exp_avg | -0.0863333333333333 |
| ab_delta_home_win_exp_avg | -0.009 |
| ab_delta_pitcher_run_exp_avg | 0.0863333333333333 |
| ab_bat_speed_avg | 68.6 |
| ab_swing_length_avg | 7.65 |
| ab_launch_speed_max | 86.2 |
| ab_hit_distance_sc_max | 261.0 |
| ab_release_speed_max | 81.9 |
| ab_release_spin_rate_max | 2513.0 |
| ab_release_speed_min | 71.8 |
| ab_release_spin_rate_min | 2129.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 | 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.175 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 3.683 | 4.000 | 4.000 | Hitting_AB | 3.756 | 3.000 | 0.244 | 1.000 |
| predicted_AVG | 0.187 | 0.000 | 0.250 | Hitting_AVG | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_BB | 0.533 | 0.000 | 1.000 | Hitting_BB | 0.546 | 0.000 | -0.546 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.670 | 0.000 | 1.000 | Hitting_H | 0.842 | 0.000 | -0.842 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_OBP | 0.291 | 0.000 | 0.400 | Hitting_OBP | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_R | 0.592 | 0.000 | 1.000 | Hitting_R | 0.637 | 0.000 | -0.637 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_SLG | 0.330 | 0.000 | 0.250 | Hitting_SLG | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_SO | 1.292 | 1.000 | 1.000 | Hitting_SO | 1.258 | 2.000 | -0.258 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.6830 -> 4.0000 (boost 0.3170, better) |
| Biggest Deboost | predicted_H: 0.6700 -> 0.0000 (deboost -0.6700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_AVG: 0.1870 -> 0.1999 (boost 0.0129, better) | predicted_SO: 1.2920 -> 1.1701 (deboost -0.1219, 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.3395 -> 0.3510 (boost 0.0115, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_BB: 0.5119 -> 1.0000 (boost 0.4881, better) | predicted_RBI: 0.2956 -> 0.0000 (deboost -0.2956, worse) | AB rounded to 4 (raw=3.68), rates preserved: AVG=0.198 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5752 -> 1.0000 (boost 0.4248, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3510 -> 0.4140 (boost 0.0630, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4140 -> 0.3510 (deboost -0.0630, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.175,
"predicted_3B": 0.017,
"predicted_AB": 3.683,
"predicted_AVG": 0.187,
"predicted_BB": 0.533,
"predicted_H": 0.67,
"predicted_HR": 0.12,
"predicted_OBP": 0.291,
"predicted_R": 0.592,
"predicted_RBI": 0.27,
"predicted_SLG": 0.33,
"predicted_SO": 1.292
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1442,
"predicted_3B": 0.014,
"predicted_AB": 3.6149,
"predicted_AVG": 0.1999,
"predicted_BB": 0.5044,
"predicted_H": 0.7108,
"predicted_HBP": 0.024,
"predicted_HR": 0.1187,
"predicted_OBP": 0.3002,
"predicted_R": 0.5473,
"predicted_RBI": 0.2813,
"predicted_SLG": 0.3395,
"predicted_SO": 1.1701
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.175,
"after": 0.1442,
"delta": -0.0308,
"percent_delta": -0.176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.014,
"delta": -0.003,
"percent_delta": -0.1765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.683,
"after": 3.6149,
"delta": -0.0681,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.187,
"after": 0.1999,
"delta": 0.0129,
"percent_delta": 0.069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.533,
"after": 0.5044,
"delta": -0.0286,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.7108,
"delta": 0.0408,
"percent_delta": 0.0609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1187,
"delta": -0.0013,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.3002,
"delta": 0.0092,
"percent_delta": 0.0316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 0.5473,
"delta": -0.0447,
"percent_delta": -0.0755,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2813,
"delta": 0.0113,
"percent_delta": 0.0419,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.3395,
"delta": 0.0095,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.292,
"after": 1.1701,
"delta": -0.1219,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.187,
"after": 0.1999,
"delta": 0.0129,
"percent_delta": 0.069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.292,
"after": 1.1701,
"delta": -0.1219,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1442,
"predicted_3B": 0.014,
"predicted_AB": 3.6149,
"predicted_AVG": 0.2022,
"predicted_BB": 0.5119,
"predicted_H": 0.731,
"predicted_HBP": 0.024,
"predicted_HR": 0.1219,
"predicted_OBP": 0.3012,
"predicted_R": 0.5752,
"predicted_RBI": 0.2956,
"predicted_SLG": 0.351,
"predicted_SO": 1.1528
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1442,
"after": 0.1442,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6149,
"after": 3.6149,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1999,
"after": 0.2022,
"delta": 0.0023,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5044,
"after": 0.5119,
"delta": 0.0075,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7108,
"after": 0.731,
"delta": 0.0202,
"percent_delta": 0.0284,
"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.1187,
"after": 0.1219,
"delta": 0.0032,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3002,
"after": 0.3012,
"delta": 0.001,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5473,
"after": 0.5752,
"delta": 0.0279,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2813,
"after": 0.2956,
"delta": 0.0143,
"percent_delta": 0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3395,
"after": 0.351,
"delta": 0.0115,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1701,
"after": 1.1528,
"delta": -0.0173,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_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.3395,
"after": 0.351,
"delta": 0.0115,
"percent_delta": 0.0339,
"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.68), rates preserved: AVG=0.198 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1442,
"after": 0.0,
"delta": -0.1442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6149,
"after": 4.0,
"delta": 0.3851,
"percent_delta": 0.1065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5119,
"after": 1.0,
"delta": 0.4881,
"percent_delta": 0.9535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.731,
"after": 1.0,
"delta": 0.269,
"percent_delta": 0.368,
"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.1219,
"after": 0.0,
"delta": -0.1219,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2956,
"after": 0.0,
"delta": -0.2956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1528,
"after": 1.0,
"delta": -0.1528,
"percent_delta": -0.1325,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5119,
"after": 1.0,
"delta": 0.4881,
"percent_delta": 0.9535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2956,
"after": 0.0,
"delta": -0.2956,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5752,
"after": 1.0,
"delta": 0.4248,
"percent_delta": 0.7385,
"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.5752,
"after": 1.0,
"delta": 0.4248,
"percent_delta": 0.7385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_R",
"before": 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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.207,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.414,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2022,
"after": 0.207,
"delta": 0.0048,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3012,
"after": 0.304,
"delta": 0.0028,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.414,
"delta": 0.063,
"percent_delta": 0.1795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.351,
"after": 0.414,
"delta": 0.063,
"percent_delta": 0.1795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2022,
"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.3012,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.351,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2022,
"delta": -0.0048,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3012,
"delta": -0.0028,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.351,
"delta": -0.063,
"percent_delta": -0.1521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.414,
"after": 0.351,
"delta": -0.063,
"percent_delta": -0.1521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.175,
"after": 0.0,
"delta": -0.175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.683,
"after": 4.0,
"delta": 0.317,
"percent_delta": 0.0861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.187,
"after": 0.2022,
"delta": 0.0152,
"percent_delta": 0.0813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.533,
"after": 0.0,
"delta": -0.533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"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.291,
"after": 0.3012,
"delta": 0.0102,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 0.0,
"delta": -0.592,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.351,
"delta": 0.021,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.292,
"after": 1.0,
"delta": -0.292,
"percent_delta": -0.226,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.683,
"after": 4.0,
"delta": 0.317,
"percent_delta": 0.0861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.683 | - |
| predicted_AVG | 0.187 | - |
| predicted_BB | 0.533 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.592 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.330 | - |
| predicted_SO | 1.292 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | -0.031 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.615 | -0.068 |
| predicted_AVG | 0.200 | 0.013 |
| predicted_BB | 0.504 | -0.029 |
| predicted_H | 0.711 | 0.041 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.119 | -0.001 |
| predicted_OBP | 0.300 | 0.009 |
| predicted_R | 0.547 | -0.045 |
| predicted_RBI | 0.281 | 0.011 |
| predicted_SLG | 0.340 | 0.010 |
| predicted_SO | 1.170 | -0.122 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.615 | 0.000 |
| predicted_AVG | 0.202 | 0.002 |
| predicted_BB | 0.512 | 0.008 |
| predicted_H | 0.731 | 0.020 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.122 | 0.003 |
| predicted_OBP | 0.301 | 0.001 |
| predicted_R | 0.575 | 0.028 |
| predicted_RBI | 0.296 | 0.014 |
| predicted_SLG | 0.351 | 0.011 |
| predicted_SO | 1.153 | -0.017 |
AB rounded to 4 (raw=3.68), rates preserved: AVG=0.198 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.144 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 4.000 | 0.385 |
| predicted_AVG | 0.207 | 0.005 |
| predicted_BB | 1.000 | 0.488 |
| predicted_H | 1.000 | 0.269 |
| predicted_HR | 0.000 | -0.122 |
| predicted_OBP | 0.304 | 0.003 |
| predicted_R | 1.000 | 0.425 |
| predicted_RBI | 0.000 | -0.296 |
| predicted_SLG | 0.414 | 0.063 |
| predicted_SO | 1.000 | -0.153 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.1875 | 0.2778 | 0.1875 | 0.1875 | 0.0000 | 0.0000 | 0.1250 | 0.1875 |
| last_10 | 0.20 | 10 | - | 33.000 | 8.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 4.000 | 7.000 | 0.2424 | 0.3243 | 0.3333 | 0.2424 | 0.0303 | 0.0606 | 0.1212 | 0.2121 |
| season | 0.60 | 120 | - | 442.000 | 95.000 | 21.000 | 2.000 | 20.000 | 51.000 | 71.000 | 64.000 | 155.000 | 0.2149 | 0.3203 | 0.4072 | 0.2149 | 0.0452 | 0.1154 | 0.1448 | 0.3507 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1040 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.5260 |
| predicted_AVG | 0.2168 |
| predicted_BB | 0.4670 |
| predicted_H | 0.7640 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.3122 |
| predicted_R | 0.4890 |
| predicted_RBI | 0.2960 |
| predicted_SLG | 0.3518 |
| predicted_SO | 1.0110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1750 | 0.1040 | 0.1442 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0140 | model_form_blend |
| predicted_AB | 3.6830 | 3.5260 | 3.6149 | model_form_blend |
| predicted_AVG | 0.1870 | 0.2168 | 0.1999 | model_form_blend |
| predicted_BB | 0.5330 | 0.4670 | 0.5044 | model_form_blend |
| predicted_H | 0.6700 | 0.7640 | 0.7108 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1200 | 0.1170 | 0.1187 | model_form_blend |
| predicted_OBP | 0.2910 | 0.3122 | 0.3002 | model_form_blend |
| predicted_R | 0.5920 | 0.4890 | 0.5473 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2960 | 0.2813 | model_form_blend |
| predicted_SLG | 0.3300 | 0.3518 | 0.3395 | model_form_blend |
| predicted_SO | 1.2920 | 1.0110 | 1.1701 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 524 |
| Season rows before report date | 524 |
| 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 664023 |
| playerID | 664023 |
| playerName | Ian Happ |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.321 |
| sl_xwoba | 0.308 |
| sl_xba | 0.2 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 43.6 |
| at_bat_number | 60.0 |
| ab_pitcher | 664353.0 |
| ab_pitcher_name | Urquidy, José |
| ab_home_team | CHC |
| ab_away_team | CWS |
| 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_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 | 0.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Ian Happ grounds out, second baseman Chase Meidroth to first baseman Munetaka Murakami. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 74.6 |
| ab_launch_angle_last | -5.0 |
| ab_hit_distance_last | 15.0 |
| ab_estimated_ba_last | 0.104 |
| ab_estimated_woba_last | 0.108 |
| ab_estimated_slg_last | 0.117 |
| 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 | 3.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 83.35 |
| ab_release_spin_rate_avg | 2467.25 |
| ab_effective_speed_avg | 83.0 |
| ab_launch_speed_avg | 74.6 |
| ab_launch_angle_avg | -5.0 |
| ab_delta_run_exp_avg | -0.065 |
| ab_delta_home_win_exp_avg | -0.00225 |
| ab_delta_pitcher_run_exp_avg | 0.065 |
| ab_bat_speed_avg | 66.65 |
| ab_swing_length_avg | 6.35 |
| ab_launch_speed_max | 74.6 |
| ab_hit_distance_sc_max | 15.0 |
| ab_release_speed_max | 92.9 |
| ab_release_spin_rate_max | 2859.0 |
| ab_release_speed_min | 77.6 |
| ab_release_spin_rate_min | 2233.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.009 |
| 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.155 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.916 | 1.000 | 1.084 | 3.000 |
| predicted_AVG | 0.207 | 0.000 | 0.000 | Hitting_AVG | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_BB | 0.309 | 0.000 | 0.000 | Hitting_BB | 0.445 | 0.000 | -0.445 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.200 | 0.000 | 0.000 | Hitting_H | 0.687 | 0.000 | -0.687 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.270 | 0.000 | 0.000 | Hitting_OBP | 0.335 | 0.000 | -0.335 | 0.000 |
| predicted_R | 0.322 | 0.000 | 0.000 | Hitting_R | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_SLG | 0.403 | 0.000 | 0.000 | Hitting_SLG | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_SO | 0.863 | 0.000 | 1.000 | Hitting_SO | 0.960 | 1.000 | -0.960 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_SO: 0.8630 -> 0.0000 (deboost -0.8630, 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.2000 -> 0.3175 (boost 0.1175, better) | predicted_AVG: 0.2070 -> 0.2003 (deboost -0.0067, worse) | Final model input calibrated with local form: 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.4020 -> 0.2986 (deboost -0.1034, 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.5133 -> 3.0000 (boost 0.4867, better) | predicted_H: 0.3265 -> 0.0000 (deboost -0.3265, worse) | AB rounded to 3 (raw=2.51), rates preserved: AVG=0.130 HR/AB=0.038 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3157 -> 0.0000 (deboost -0.3157, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3060 -> 0.2986 (deboost -0.0074, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624424",
"player_name": "Michael Conforto",
"position": "DH",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.155,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.207,
"predicted_BB": 0.309,
"predicted_H": 0.2,
"predicted_HR": 0.06,
"predicted_OBP": 0.27,
"predicted_R": 0.322,
"predicted_RBI": 0.19,
"predicted_SLG": 0.403,
"predicted_SO": 0.863
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1384,
"predicted_3B": 0.0004,
"predicted_AB": 2.5133,
"predicted_AVG": 0.2003,
"predicted_BB": 0.3215,
"predicted_H": 0.3175,
"predicted_HBP": 0.009,
"predicted_HR": 0.0924,
"predicted_OBP": 0.2763,
"predicted_R": 0.3004,
"predicted_RBI": 0.305,
"predicted_SLG": 0.402,
"predicted_SO": 0.8659
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1384,
"delta": -0.0166,
"percent_delta": -0.1071,
"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.5,
"after": 2.5133,
"delta": 0.0133,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2003,
"delta": -0.0067,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.3215,
"delta": 0.0125,
"percent_delta": 0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.2,
"after": 0.3175,
"delta": 0.1175,
"percent_delta": 0.5875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0924,
"delta": 0.0324,
"percent_delta": 0.54,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2763,
"delta": 0.0063,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.322,
"after": 0.3004,
"delta": -0.0216,
"percent_delta": -0.0671,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.305,
"delta": 0.115,
"percent_delta": 0.6053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.402,
"delta": -0.001,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 0.8659,
"delta": 0.0029,
"percent_delta": 0.0034,
"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.2,
"after": 0.3175,
"delta": 0.1175,
"percent_delta": 0.5875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.2003,
"delta": -0.0067,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 82
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1384,
"predicted_3B": 0.0004,
"predicted_AB": 2.5133,
"predicted_AVG": 0.1299,
"predicted_BB": 0.3263,
"predicted_H": 0.3265,
"predicted_HBP": 0.009,
"predicted_HR": 0.0949,
"predicted_OBP": 0.2299,
"predicted_R": 0.3157,
"predicted_RBI": 0.3206,
"predicted_SLG": 0.2986,
"predicted_SO": 0.8531
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1384,
"after": 0.1384,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5133,
"after": 2.5133,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2003,
"after": 0.1299,
"delta": -0.0704,
"percent_delta": -0.3515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3215,
"after": 0.3263,
"delta": 0.0048,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3175,
"after": 0.3265,
"delta": 0.009,
"percent_delta": 0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0924,
"after": 0.0949,
"delta": 0.0025,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2763,
"after": 0.2299,
"delta": -0.0464,
"percent_delta": -0.1679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3004,
"after": 0.3157,
"delta": 0.0153,
"percent_delta": 0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.305,
"after": 0.3206,
"delta": 0.0156,
"percent_delta": 0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.2986,
"delta": -0.1034,
"percent_delta": -0.2572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8659,
"after": 0.8531,
"delta": -0.0128,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.2986,
"delta": -0.1034,
"percent_delta": -0.2572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.51), rates preserved: AVG=0.130 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1384,
"after": 0.0,
"delta": -0.1384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5133,
"after": 3.0,
"delta": 0.4867,
"percent_delta": 0.1936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3263,
"after": 0.0,
"delta": -0.3263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3265,
"after": 0.0,
"delta": -0.3265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0949,
"after": 0.0,
"delta": -0.0949,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3206,
"after": 0.0,
"delta": -0.3206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8531,
"after": 1.0,
"delta": 0.1469,
"percent_delta": 0.1722,
"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.5133,
"after": 3.0,
"delta": 0.4867,
"percent_delta": 0.1936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3265,
"after": 0.0,
"delta": -0.3265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3157,
"after": 0.0,
"delta": -0.3157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.3157,
"after": 0.0,
"delta": -0.3157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.13,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.236,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.306,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1299,
"after": 0.13,
"delta": 0.0001,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2299,
"after": 0.236,
"delta": 0.0061,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2986,
"after": 0.306,
"delta": 0.0074,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 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.1299,
"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.2299,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2986,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.13,
"after": 0.1299,
"delta": -0.0001,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.236,
"after": 0.2299,
"delta": -0.0061,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2986,
"delta": -0.0074,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2986,
"delta": -0.0074,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.1299,
"delta": -0.0771,
"percent_delta": -0.3725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2299,
"delta": -0.0401,
"percent_delta": -0.1485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.322,
"after": 0.0,
"delta": -0.322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.2986,
"delta": -0.1044,
"percent_delta": -0.2591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 0.0,
"delta": -0.863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.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.863,
"after": 0.0,
"delta": -0.863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.207 | - |
| predicted_BB | 0.309 | - |
| predicted_H | 0.200 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.270 | - |
| predicted_R | 0.322 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 0.863 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.138 | -0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.513 | 0.013 |
| predicted_AVG | 0.200 | -0.007 |
| predicted_BB | 0.322 | 0.013 |
| predicted_H | 0.318 | 0.117 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.092 | 0.032 |
| predicted_OBP | 0.276 | 0.006 |
| predicted_R | 0.300 | -0.022 |
| predicted_RBI | 0.305 | 0.115 |
| predicted_SLG | 0.402 | -0.001 |
| predicted_SO | 0.866 | 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.138 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.513 | 0.000 |
| predicted_AVG | 0.130 | -0.070 |
| predicted_BB | 0.326 | 0.005 |
| predicted_H | 0.327 | 0.009 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.095 | 0.003 |
| predicted_OBP | 0.230 | -0.046 |
| predicted_R | 0.316 | 0.015 |
| predicted_RBI | 0.321 | 0.016 |
| predicted_SLG | 0.299 | -0.103 |
| predicted_SO | 0.853 | -0.013 |
AB rounded to 3 (raw=2.51), rates preserved: AVG=0.130 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.138 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.487 |
| predicted_AVG | 0.130 | 0.000 |
| predicted_BB | 0.000 | -0.326 |
| predicted_H | 1.000 | 0.673 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.236 | 0.006 |
| predicted_R | 0.000 | -0.316 |
| predicted_RBI | 0.000 | -0.321 |
| predicted_SLG | 0.306 | 0.007 |
| predicted_SO | 1.000 | 0.147 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 4.000 | 0.0909 | 0.2308 | 0.3636 | 0.0909 | 0.0909 | 0.2727 | 0.1818 | 0.3636 |
| last_10 | 0.20 | 10 | - | 25.000 | 4.000 | 1.000 | 0.000 | 1.000 | 6.000 | 1.000 | 4.000 | 10.000 | 0.1600 | 0.2581 | 0.3200 | 0.1600 | 0.0400 | 0.2400 | 0.1600 | 0.4000 |
| season | 0.60 | 82 | - | 194.000 | 43.000 | 12.000 | 0.000 | 10.000 | 29.000 | 25.000 | 24.000 | 67.000 | 0.2216 | 0.3077 | 0.4381 | 0.2217 | 0.0515 | 0.1495 | 0.1237 | 0.3454 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.5320 |
| predicted_AVG | 0.1909 |
| predicted_BB | 0.3390 |
| predicted_H | 0.4830 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1380 |
| predicted_OBP | 0.2851 |
| predicted_R | 0.2700 |
| predicted_RBI | 0.4670 |
| predicted_SLG | 0.4006 |
| predicted_SO | 0.8700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.1150 | 0.1384 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.5000 | 2.5320 | 2.5133 | model_form_blend |
| predicted_AVG | 0.2070 | 0.1909 | 0.2003 | model_form_blend |
| predicted_BB | 0.3090 | 0.3390 | 0.3215 | model_form_blend |
| predicted_H | 0.2000 | 0.4830 | 0.3175 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0600 | 0.1380 | 0.0924 | model_form_blend |
| predicted_OBP | 0.2700 | 0.2851 | 0.2763 | model_form_blend |
| predicted_R | 0.3220 | 0.2700 | 0.3004 | model_form_blend |
| predicted_RBI | 0.1900 | 0.4670 | 0.3050 | model_form_blend |
| predicted_SLG | 0.4030 | 0.4006 | 0.4020 | model_form_blend |
| predicted_SO | 0.8630 | 0.8700 | 0.8659 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 227 |
| Season rows before report date | 227 |
| Report year | 2026 |
| Profile rows used | 82 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260819_CHW@CHC |
| game_type | ph |
| mlbID | 624424 |
| note | Struck out for Taylor, T in the 9th. |
| playerID | 624424 |
| playerName | Michael Conforto |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 29.8 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.325 |
| sl_xwoba | 0.312 |
| sl_xba | 0.218 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 42.3 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 18.5 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 43.5 |
| at_bat_number | 67.0 |
| ab_pitcher | 691799.0 |
| ab_pitcher_name | Taylor, Grant |
| ab_home_team | CHC |
| ab_away_team | CWS |
| ab_game_type | R |
| ab_stand | L |
| 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 | 3.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Michael Conforto 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 | 8.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 | 3.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 88.3 |
| ab_release_spin_rate_avg | 2386.6666666666665 |
| ab_effective_speed_avg | 89.46666666666665 |
| ab_delta_run_exp_avg | -0.0866666666666666 |
| ab_delta_home_win_exp_avg | -0.0083333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0866666666666666 |
| ab_bat_speed_avg | 47.95 |
| ab_swing_length_avg | 7.5 |
| ab_release_speed_max | 96.8 |
| ab_release_spin_rate_max | 2513.0 |
| ab_release_speed_min | 83.6 |
| ab_release_spin_rate_min | 2163.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.025 |
| 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.135 | 0.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.380 | 3.000 | 3.000 | Hitting_AB | 3.595 | 3.000 | -0.595 | 0.000 |
| predicted_AVG | 0.233 | 0.000 | 0.333 | Hitting_AVG | 0.271 | 0.000 | -0.271 | 0.000 |
| predicted_BB | 0.371 | 0.000 | 0.000 | Hitting_BB | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 0.973 | 0.000 | -0.973 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.297 | 0.000 | 0.333 | Hitting_OBP | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_R | 0.483 | 0.000 | 1.000 | Hitting_R | 0.565 | 0.000 | -0.565 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.557 | 0.000 | -0.557 | 0.000 |
| predicted_SLG | 0.351 | 0.000 | 0.333 | Hitting_SLG | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_SO | 0.640 | 0.000 | 1.000 | Hitting_SO | 0.690 | 1.000 | -0.690 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_OBP: 0.2970 -> 0.3148 (boost 0.0178, better) |
| Biggest Deboost | predicted_H: 0.7900 -> 0.0000 (deboost -0.7900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2330 -> 0.2388 (boost 0.0058, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3018 -> 0.3148 (boost 0.0130, better) | predicted_SLG: 0.3478 -> 0.3420 (deboost -0.0058, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6712 -> 1.0000 (boost 0.3288, worse) | predicted_RBI: 0.3808 -> 0.0000 (deboost -0.3808, worse) | AB rounded to 3 (raw=3.38), rates preserved: AVG=0.245 HR/AB=0.017 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4947 -> 0.0000 (deboost -0.4947, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | 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 |
| 10 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2400 -> 0.2460 (boost 0.0060, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608348",
"player_name": "Carson Kelly",
"position": "C",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.135,
"predicted_3B": 0.0,
"predicted_AB": 3.38,
"predicted_AVG": 0.233,
"predicted_BB": 0.371,
"predicted_H": 0.79,
"predicted_HR": 0.06,
"predicted_OBP": 0.297,
"predicted_R": 0.483,
"predicted_RBI": 0.37,
"predicted_SLG": 0.351,
"predicted_SO": 0.64
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1469,
"predicted_3B": 0.0004,
"predicted_AB": 3.3698,
"predicted_AVG": 0.2388,
"predicted_BB": 0.3331,
"predicted_H": 0.8062,
"predicted_HBP": 0.021,
"predicted_HR": 0.057,
"predicted_OBP": 0.3018,
"predicted_R": 0.4707,
"predicted_RBI": 0.3623,
"predicted_SLG": 0.3478,
"predicted_SO": 0.6813
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.1469,
"delta": 0.0119,
"percent_delta": 0.0881,
"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.38,
"after": 3.3698,
"delta": -0.0102,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2388,
"delta": 0.0058,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.3331,
"delta": -0.0379,
"percent_delta": -0.1022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.8062,
"delta": 0.0162,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.057,
"delta": -0.003,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3018,
"delta": 0.0048,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.483,
"after": 0.4707,
"delta": -0.0123,
"percent_delta": -0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3623,
"delta": -0.0077,
"percent_delta": -0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3478,
"delta": -0.0032,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.64,
"after": 0.6813,
"delta": 0.0413,
"percent_delta": 0.0645,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2388,
"delta": 0.0058,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1469,
"predicted_3B": 0.0004,
"predicted_AB": 3.3698,
"predicted_AVG": 0.246,
"predicted_BB": 0.338,
"predicted_H": 0.8291,
"predicted_HBP": 0.021,
"predicted_HR": 0.0586,
"predicted_OBP": 0.3148,
"predicted_R": 0.4947,
"predicted_RBI": 0.3808,
"predicted_SLG": 0.342,
"predicted_SO": 0.6712
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1469,
"after": 0.1469,
"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.3698,
"after": 3.3698,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2388,
"after": 0.246,
"delta": 0.0072,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3331,
"after": 0.338,
"delta": 0.0049,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8062,
"after": 0.8291,
"delta": 0.0229,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.057,
"after": 0.0586,
"delta": 0.0016,
"percent_delta": 0.0281,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3018,
"after": 0.3148,
"delta": 0.013,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4707,
"after": 0.4947,
"delta": 0.024,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3623,
"after": 0.3808,
"delta": 0.0185,
"percent_delta": 0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3478,
"after": 0.342,
"delta": -0.0058,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6813,
"after": 0.6712,
"delta": -0.0101,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_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.3018,
"after": 0.3148,
"delta": 0.013,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3478,
"after": 0.342,
"delta": -0.0058,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.38), rates preserved: AVG=0.245 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.1469,
"after": 0.0,
"delta": -0.1469,
"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.3698,
"after": 3.0,
"delta": -0.3698,
"percent_delta": -0.1097,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8291,
"after": 1.0,
"delta": 0.1709,
"percent_delta": 0.2061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0586,
"after": 0.0,
"delta": -0.0586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3808,
"after": 0.0,
"delta": -0.3808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6712,
"after": 1.0,
"delta": 0.3288,
"percent_delta": 0.4899,
"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.6712,
"after": 1.0,
"delta": 0.3288,
"percent_delta": 0.4899,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3808,
"after": 0.0,
"delta": -0.3808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4947,
"after": 0.0,
"delta": -0.4947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4947,
"after": 0.0,
"delta": -0.4947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player 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.24,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.34,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.24,
"delta": -0.006,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3148,
"after": 0.31,
"delta": -0.0048,
"percent_delta": -0.0152,
"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_SLG",
"before": 0.342,
"after": 0.34,
"delta": -0.002,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "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": 10,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.246,
"predicted_BB": 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.3148,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.342,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.246,
"delta": 0.006,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3148,
"delta": 0.0048,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.342,
"delta": 0.002,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.246,
"delta": 0.006,
"percent_delta": 0.0252,
"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.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.38,
"after": 3.0,
"delta": -0.38,
"percent_delta": -0.1124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.246,
"delta": 0.013,
"percent_delta": 0.0558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.0,
"delta": -0.371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3148,
"delta": 0.0178,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.483,
"after": 0.0,
"delta": -0.483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.342,
"delta": -0.009,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.3148,
"delta": 0.0178,
"percent_delta": 0.0599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.380 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.371 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.483 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.351 | - |
| predicted_SO | 0.640 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | 0.012 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.370 | -0.010 |
| predicted_AVG | 0.239 | 0.006 |
| predicted_BB | 0.333 | -0.038 |
| predicted_H | 0.806 | 0.016 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.057 | -0.003 |
| predicted_OBP | 0.302 | 0.005 |
| predicted_R | 0.471 | -0.012 |
| predicted_RBI | 0.362 | -0.008 |
| predicted_SLG | 0.348 | -0.003 |
| predicted_SO | 0.681 | 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.147 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.370 | 0.000 |
| predicted_AVG | 0.246 | 0.007 |
| predicted_BB | 0.338 | 0.005 |
| predicted_H | 0.829 | 0.023 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.059 | 0.002 |
| predicted_OBP | 0.315 | 0.013 |
| predicted_R | 0.495 | 0.024 |
| predicted_RBI | 0.381 | 0.019 |
| predicted_SLG | 0.342 | -0.006 |
| predicted_SO | 0.671 | -0.010 |
AB rounded to 3 (raw=3.38), rates preserved: AVG=0.245 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.147 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.370 |
| predicted_AVG | 0.240 | -0.006 |
| predicted_BB | 0.000 | -0.338 |
| predicted_H | 1.000 | 0.171 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.310 | -0.005 |
| predicted_R | 0.000 | -0.495 |
| predicted_RBI | 0.000 | -0.381 |
| predicted_SLG | 0.340 | -0.002 |
| predicted_SO | 1.000 | 0.329 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 5.000 | 0.1875 | 0.2353 | 0.2500 | 0.1875 | 0.0000 | 0.0000 | 0.0625 | 0.3125 |
| last_10 | 0.20 | 10 | - | 34.000 | 9.000 | 2.000 | 0.000 | 0.000 | 3.000 | 4.000 | 1.000 | 7.000 | 0.2647 | 0.2857 | 0.3235 | 0.2647 | 0.0000 | 0.0882 | 0.0294 | 0.2059 |
| season | 0.60 | 89 | - | 296.000 | 77.000 | 12.000 | 0.000 | 7.000 | 42.000 | 43.000 | 33.000 | 57.000 | 0.2601 | 0.3404 | 0.3716 | 0.2601 | 0.0237 | 0.1419 | 0.1115 | 0.1926 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1630 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3560 |
| predicted_AVG | 0.2466 |
| predicted_BB | 0.2820 |
| predicted_H | 0.8280 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.3082 |
| predicted_R | 0.4540 |
| predicted_RBI | 0.3520 |
| predicted_SLG | 0.3435 |
| predicted_SO | 0.7370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.1630 | 0.1469 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3800 | 3.3560 | 3.3698 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2466 | 0.2388 | model_form_blend |
| predicted_BB | 0.3710 | 0.2820 | 0.3331 | model_form_blend |
| predicted_H | 0.7900 | 0.8280 | 0.8062 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0600 | 0.0530 | 0.0570 | model_form_blend |
| predicted_OBP | 0.2970 | 0.3082 | 0.3018 | model_form_blend |
| predicted_R | 0.4830 | 0.4540 | 0.4707 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3520 | 0.3623 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3435 | 0.3478 | model_form_blend |
| predicted_SO | 0.6400 | 0.7370 | 0.6813 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 336 |
| Season rows before report date | 336 |
| Report year | 2026 |
| Profile rows used | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 608348 |
| playerID | 608348 |
| playerName | Carson Kelly |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.321 |
| sl_xwoba | 0.314 |
| sl_xba | 0.243 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 44.0 |
| at_bat_number | 59.0 |
| ab_pitcher | 664353.0 |
| ab_pitcher_name | Urquidy, José |
| ab_home_team | CHC |
| ab_away_team | CWS |
| 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 | 0.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Carson Kelly grounds out, shortstop Colson Montgomery to first baseman Munetaka Murakami. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 89.6 |
| ab_launch_angle_last | 2.0 |
| ab_hit_distance_last | 54.0 |
| ab_estimated_ba_last | 0.292 |
| ab_estimated_woba_last | 0.274 |
| ab_estimated_slg_last | 0.35 |
| 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 | 1.0 |
| ab_home_score_end | 0.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 81.64 |
| ab_release_spin_rate_avg | 2474.0 |
| ab_effective_speed_avg | 81.44 |
| ab_launch_speed_avg | 89.6 |
| ab_launch_angle_avg | 2.0 |
| ab_delta_run_exp_avg | -0.0524 |
| ab_delta_home_win_exp_avg | -0.0034 |
| ab_delta_pitcher_run_exp_avg | 0.0524 |
| ab_bat_speed_avg | 71.5 |
| ab_swing_length_avg | 7.7 |
| ab_launch_speed_max | 89.6 |
| ab_hit_distance_sc_max | 54.0 |
| ab_release_speed_max | 92.0 |
| ab_release_spin_rate_max | 2762.0 |
| ab_release_speed_min | 73.1 |
| ab_release_spin_rate_min | 2113.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.017 |
| 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.733 | 3.000 | 1.267 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.533 | 7.000 | -2.533 | -7.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 5.267 | 5.000 | -3.267 | -3.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 5.480 | 5.100 | 0.620 | 1.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.533 | 2.000 | 1.467 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "571510",
"player_name": "Matthew Boyd",
"position": "Starter",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_R": 0.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 6.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 33.000 | 14.000 | 30.000 | 12.000 | 17.000 | 7.000 | 3.8182 | 1.2727 | 0.4242 | 0.9091 | 0.3636 | 0.5151 | 0.2121 |
| last_10 | 0.35 | 10 | 61.000 | 22.000 | 54.000 | 20.000 | 37.000 | 11.000 | 3.2459 | 1.2131 | 0.3607 | 0.8852 | 0.3279 | 0.6066 | 0.1803 |
| season | 0.20 | 15 | 85.000 | 38.000 | 79.000 | 26.000 | 68.000 | 13.000 | 4.0235 | 1.2353 | 0.4471 | 0.9294 | 0.3059 | 0.8000 | 0.1529 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1670 |
| predicted_ER | 2.6920 |
| predicted_ERA | 3.8719 |
| predicted_H | 5.7680 |
| predicted_HR | 1.1180 |
| predicted_IP | 6.1000 |
| predicted_SO | 4.3250 |
| predicted_WHIP | 1.2680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.1670 | 2.5465 | model_form_blend |
| predicted_ER | 0.0000 | 2.6920 | 1.4655 | model_form_blend |
| predicted_ERA | - | 3.8719 | 3.8719 | form_only |
| predicted_H | 2.0000 | 5.7680 | 4.0512 | model_form_blend |
| predicted_HR | 0.0000 | 1.1180 | 0.6086 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 6.0000 | 4.3250 | 5.0882 | model_form_blend |
| predicted_WHIP | - | 1.2680 | 1.2680 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 15 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 3 |
| SO | 6 |
| HR | 0 |
| BF | 24 |
| Pitches | 110 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 1 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 7 |
| Pitching_ERA | 4.02 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 7 |
| Pitching_H | 5 |
| Pitching_HBP | 2 |
| Pitching_HR | 4 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.1 |
| Pitching_Pitches | 97 |
| Pitching_R | 7 |
| Pitching_SO | 2 |
| Pitching_Strikes | 59 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260815_STL@CHC |
| game_type | full |
| mlbID | 571510 |
| playerID | 571510 |
| playerName | Matthew Boyd |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-15 |
| game_pk | 824644.0 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.32 |
| sl_xwoba | 0.341 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 37.9 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 49.1 |
| sv_pitch_count | 97.0 |
| sv_outs_recorded_est | 15.0 |
| sv_release_speed | 84.23917525773196 |
| sv_release_spin_rate | 2267.463917525773 |
| sv_effective_speed | 84.10103092783505 |
| sv_launch_speed | 82.9735294117647 |
| sv_launch_angle | 25.47058823529412 |
| sv_woba_value | 12.4 |
| sv_woba_denom | 25.0 |
| sv_delta_run_exp | 4.275 |
| sv_delta_home_win_exp | -0.44 |
| sl_avg_best_speed | 75.8908544 |
| sl_avg_hyper_speed | 94.08271128 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.357 | 1.000 | -0.357 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.821 | 0.000 | 0.179 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.912 | 1.000 | 0.088 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.125 | 0.000 | -0.125 | 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": "657097",
"player_name": "Jacob Webb",
"position": "Closer",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 3.000 | 7.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.3750 | 0.5625 | 1.3125 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 0.000 | 4.000 | 3.000 | 11.000 | 0.000 | 0.0000 | 0.6562 | 0.0000 | 0.3750 | 0.2812 | 1.0312 | 0.0000 |
| season | 0.20 | 56 | 56.000 | 14.000 | 46.000 | 20.000 | 63.000 | 6.000 | 2.2500 | 1.1786 | 0.2500 | 0.8214 | 0.3571 | 1.1250 | 0.1071 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4060 |
| predicted_ER | 0.1890 |
| predicted_ERA | 1.7011 |
| predicted_H | 0.6210 |
| predicted_HR | 0.0600 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1070 |
| predicted_WHIP | 1.0264 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4060 | 0.2111 | model_form_blend |
| predicted_ER | 0.0000 | 0.1890 | 0.0982 | model_form_blend |
| predicted_ERA | - | 1.7011 | 1.7011 | form_only |
| predicted_H | 1.0000 | 0.6210 | 0.8030 | model_form_blend |
| predicted_HR | 0.0000 | 0.0600 | 0.0312 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1070 | 1.0556 | model_form_blend |
| predicted_WHIP | - | 1.0264 | 1.0264 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 56 |
| Season rows before report date | 56 |
| 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 | 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.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260818_CHW@CHC |
| game_type | full |
| mlbID | 657097 |
| playerID | 657097 |
| playerName | Jacob Webb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-18 |
| game_pk | 824639.0 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.271 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 41.6 |
| sl_whiff_percent | 33.8 |
| sl_swing_percent | 51.2 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.54285714285713 |
| sv_release_spin_rate | 2522.0714285714284 |
| sv_effective_speed | 88.28571428571429 |
| sv_launch_speed | 67.6 |
| sv_launch_angle | -19.5 |
| sv_woba_value | 0.7 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.4599999999999999 |
| sv_delta_home_win_exp | 0.139 |
| sl_avg_best_speed | 76.798146575 |
| sl_avg_hyper_speed | 94.199956276 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.395 | 0.000 | 1.605 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.289 | 0.000 | 2.711 | 3.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.737 | 1.000 | 0.263 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.918 | 1.000 | 0.082 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.579 | 1.000 | -0.579 | -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": "663423",
"player_name": "Trent Thornton",
"position": "Setup Man",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 3.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 0.000 | 2.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 0.8182 | 0.0000 | 0.5454 | 0.2727 | 1.3636 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 2.000 | 6.000 | 5.000 | 7.000 | 0.000 | 2.1600 | 1.3200 | 0.2400 | 0.7200 | 0.6000 | 0.8400 | 0.0000 |
| season | 0.20 | 37 | 39.100 | 10.000 | 27.000 | 15.000 | 22.000 | 4.000 | 2.2881 | 1.0678 | 0.2542 | 0.6864 | 0.3814 | 0.5593 | 0.1017 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3280 |
| predicted_ER | 0.2320 |
| predicted_ERA | 2.4928 |
| predicted_H | 0.6410 |
| predicted_HR | 0.0580 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8310 |
| predicted_WHIP | 1.1582 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.3280 | 1.1873 | model_form_blend |
| predicted_ER | 3.0000 | 0.2320 | 1.6546 | model_form_blend |
| predicted_ERA | - | 2.4928 | 2.4928 | form_only |
| predicted_H | 1.0000 | 0.6410 | 0.8255 | model_form_blend |
| predicted_HR | 1.0000 | 0.0580 | 0.5421 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8310 | 0.4039 | model_form_blend |
| predicted_WHIP | - | 1.1582 | 1.1582 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 0 |
| HR | 1 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.52 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260819_CHW@CHC |
| game_type | full |
| mlbID | 663423 |
| playerID | 663423 |
| playerName | Trent Thornton |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-19 |
| game_pk | 824640.0 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.277 |
| sl_xwoba | 0.328 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 45.6 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 49.5 |
| sv_pitch_count | 17.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.97058823529412 |
| sv_release_spin_rate | 2522.705882352941 |
| sv_effective_speed | 92.87647058823528 |
| sv_launch_speed | 84.16 |
| sv_launch_angle | 20.2 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.437 |
| sv_delta_home_win_exp | 0.056 |
| sl_avg_best_speed | 80.155815439 |
| sl_avg_hyper_speed | 94.572228158 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.833 | 2.000 | -0.833 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.333 | 2.000 | -1.333 | -2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.733 | 1.000 | -0.533 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.167 | 1.000 | -1.167 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666171",
"player_name": "Ryan Zeferjahn",
"position": "Middle Reliever (High Leverage)",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 5.000 | 8.000 | 3.000 | 7.000 | 2.000 | 10.3846 | 2.5385 | 1.1539 | 1.8461 | 0.6923 | 1.6154 | 0.4615 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 13.000 | 4.000 | 16.000 | 2.000 | 5.4000 | 1.7000 | 0.6000 | 1.3000 | 0.4000 | 1.6000 | 0.2000 |
| season | 0.20 | 51 | 57.000 | 26.000 | 38.000 | 35.000 | 82.000 | 7.000 | 4.1053 | 1.2807 | 0.4561 | 0.6667 | 0.6140 | 1.4386 | 0.1228 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4590 |
| predicted_ER | 0.6500 |
| predicted_ERA | 6.5094 |
| predicted_H | 1.1530 |
| predicted_HR | 0.2290 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2450 |
| predicted_WHIP | 1.7942 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4590 | 0.7179 | model_form_blend |
| predicted_ER | 0.0000 | 0.6500 | 0.3389 | model_form_blend |
| predicted_ERA | - | 6.5094 | 6.5094 | form_only |
| predicted_H | 0.0000 | 1.1530 | 0.6012 | model_form_blend |
| predicted_HR | 0.0000 | 0.2290 | 0.1194 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2450 | 0.6491 | model_form_blend |
| predicted_WHIP | - | 1.7942 | 1.7942 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 51 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.11 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 24 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260817_CHW@CHC |
| game_type | full |
| mlbID | 666171 |
| playerID | 666171 |
| playerName | Ryan Zeferjahn |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-08-17 |
| game_pk | 824641.0 |
| sl_k_percent | 32.7 |
| sl_bb_percent | 13.5 |
| sl_woba | 0.297 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 36.8 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 40.0 |
| sv_pitch_count | 24.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.77083333333331 |
| sv_release_spin_rate | 2464.9166666666665 |
| sv_effective_speed | 92.50833333333333 |
| sv_launch_speed | 86.76666666666667 |
| sv_launch_angle | 20.666666666666668 |
| sv_woba_value | 3.6 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | 1.537 |
| sv_delta_home_win_exp | -0.416 |
| sl_avg_best_speed | 79.872656129 |
| sl_avg_hyper_speed | 93.469415806 |
| Field | Value |
|---|---|
| Pitcher | Emerson Hancock |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0149 |
| ESPN Rank | 39 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0122 |
| Avg Velo | 90.1330 |
| Avg Spin | 2352.6808 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 3 |
| Pre BB | 3 |
| Pre SO | 8 |
| Season ERA | 3.3047 |
| Season WHIP | 1.1094 |
| Role Avg IP | 5.5650 |
| Recent Avg IP | 5.7330 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.4688,
"runs_scored": 500.0,
"runs_allowed": 546.0,
"run_differential": -46.0,
"run_differential_per_game": -0.3594,
"avg_runs_scored": 3.9062,
"avg_runs_allowed": 4.2656,
"offense_index": 0.8714,
"defense_index": 1.0509,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.9,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.1056
},
"opponent": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.5781,
"runs_scored": 656.0,
"runs_allowed": 556.0,
"run_differential": 100.0,
"run_differential_per_game": 0.7812,
"avg_runs_scored": 5.125,
"avg_runs_allowed": 4.3438,
"offense_index": 1.1433,
"defense_index": 1.032,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1972
},
"edges": {
"quality_edge": -0.3028,
"offense_edge": -0.1286,
"opponent_offense_edge": 0.1433,
"defense_strength": 0.0509,
"opponent_defense_weakness": -0.032,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9837,
"run_prevention": 1.033,
"strikeout": 0.9795
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676106",
"profile": {
"available": true,
"pitcher_id": "676106",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 465.0,
"k_percent": 23.1,
"bb_percent": 6.2,
"woba": 0.288,
"xwoba": 0.308,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 41.1,
"avg_best_speed": 78.8387,
"avg_hyper_speed": 94.3247,
"whiff_percent": 23.7,
"swing_percent": 51.5
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0722,
"command_and_miss": 0.1179,
"regression_edge": -0.5714,
"xwoba_edge": 0.1143,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.5,
"whiff_edge": -0.2429,
"bb_edge": 0.725,
"pitch_design_score": 0.0122
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676106",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 80,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 80,
"pitch_usage": 0.0,
"release_speed": 90.13296344583853,
"release_spin_rate": 2352.680831112985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 80,
"pitch_usage": 0.0,
"release_speed": 90.13296344583853,
"release_spin_rate": 2352.680831112985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.133,
"release_spin_rate": 2352.6808,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0122,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0871,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0149,
"sample_weight": 1.0,
"run_prevention_factor": 0.9987,
"strikeout_factor": 0.9954,
"walk_factor": 0.942,
"homer_factor": 1.0397,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676106",
"espn_id": 4297897,
"player_name": "Emerson Hancock",
"team": "SEA",
"role": "pitcher",
"espn_rank": 39,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 39,
"gp_value": 23.0,
"gp_rank": 305,
"gs_value": 23.0,
"gs_rank": 53,
"qs_value": 12.0,
"qs_rank": 23,
"era_value": 3.3046,
"era_rank": 20.0,
"w_value": 7.0,
"w_rank": 66,
"l_value": 7.0,
"l_rank": 62,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 128.0,
"ip_rank": 52,
"h_value": 110.0,
"h_rank": 75,
"er_value": 47.0,
"er_rank": 93,
"hr_value": 16.0,
"hr_rank": 57,
"bb_value": 32.0,
"bb_rank": 116,
"k_value": 119.0,
"k_rank": 50,
"k_per_9_value": 8.3671875,
"k_per_9_rank": 25.0,
"whip_value": 1.1093,
"whip_rank": 17.0,
"war_value": 2.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9987,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 0.9987,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.942,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0397,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9954,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 52.1,
"ER": 24,
"H": 55,
"BB": 15,
"SO": 46,
"HR": 6,
"ERA": 4.127388535031847,
"WHIP": 1.3375796178343948,
"K9": 7.910828025477707,
"HR9": 1.0318471337579618,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-15T00:00:00"
}{
"available": true,
"pitcher_id": "676106",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 80,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 80,
"pitch_usage": 0.0,
"release_speed": 90.13296344583853,
"release_spin_rate": 2352.680831112985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 80,
"pitch_usage": 0.0,
"release_speed": 90.13296344583853,
"release_spin_rate": 2352.680831112985,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.133,
"release_spin_rate": 2352.6808,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0122,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0871,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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",
"pitcher_usage_role": "starter",
"player_id": "676106",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 12.0,
"R": 13.0,
"H": 35.0,
"BB": 7.0,
"SO": 25.0,
"HR": 4.0,
"BF": 126.0,
"Pitches": 474.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4,
"R": 2.6,
"H": 7.0,
"BB": 1.4,
"SO": 5.0,
"HR": 0.8,
"BF": 25.2,
"Pitches": 94.8
},
"rates": {
"ERA": 3.7674,
"WHIP": 1.4651,
"ER_per_IP": 0.4186,
"H_per_IP": 1.22093,
"BB_per_IP": 0.24419,
"SO_per_IP": 0.87209,
"HR_per_IP": 0.13953
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.1,
"ER": 24.0,
"R": 25.0,
"H": 55.0,
"BB": 15.0,
"SO": 46.0,
"HR": 6.0,
"BF": 224.0,
"Pitches": 818.0
},
"per_game": {
"IP": 5.1,
"ER": 2.4,
"R": 2.5,
"H": 5.5,
"BB": 1.5,
"SO": 4.6,
"HR": 0.6,
"BF": 22.4,
"Pitches": 81.8
},
"rates": {
"ERA": 4.1274,
"WHIP": 1.3376,
"ER_per_IP": 0.4586,
"H_per_IP": 1.05096,
"BB_per_IP": 0.28662,
"SO_per_IP": 0.87898,
"HR_per_IP": 0.11465
}
},
"season": {
"games": 23,
"totals": {
"IP": 128.0,
"ER": 47.0,
"R": 48.0,
"H": 110.0,
"BB": 32.0,
"SO": 119.0,
"HR": 16.0,
"BF": 516.0,
"Pitches": 2006.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0435,
"R": 2.087,
"H": 4.7826,
"BB": 1.3913,
"SO": 5.1739,
"HR": 0.6957,
"BF": 22.4348,
"Pitches": 87.2174
},
"rates": {
"ERA": 3.3047,
"WHIP": 1.1094,
"ER_per_IP": 0.36719,
"H_per_IP": 0.85938,
"BB_per_IP": 0.25,
"SO_per_IP": 0.92969,
"HR_per_IP": 0.125
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.431,
"predicted_H": 5.951,
"predicted_BB": 1.555,
"predicted_SO": 5.001,
"predicted_HR": 0.732,
"predicted_ERA": 3.9276,
"predicted_WHIP": 1.3474
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4255,
"form_weight": 0.5745,
"form_reliability": 0.8214,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"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.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 2.431,
"final": 3.524,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.951,
"final": 5.5464,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.555,
"final": 2.1698,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 8.0,
"form": 5.001,
"final": 6.277,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.732,
"final": 0.846,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9276,
"final": 3.9276,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3474,
"final": 1.3474,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Andrés Muñoz |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5607 |
| ESPN Rank | 462 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1844 |
| Avg Velo | 93.2075 |
| Avg Spin | 2314.8427 |
| 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.8849 |
| Season WHIP | 1.1655 |
| Role Avg IP | 0.9650 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.4688,
"runs_scored": 500.0,
"runs_allowed": 546.0,
"run_differential": -46.0,
"run_differential_per_game": -0.3594,
"avg_runs_scored": 3.9062,
"avg_runs_allowed": 4.2656,
"offense_index": 0.8714,
"defense_index": 1.0509,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.9,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.1056
},
"opponent": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.5781,
"runs_scored": 656.0,
"runs_allowed": 556.0,
"run_differential": 100.0,
"run_differential_per_game": 0.7812,
"avg_runs_scored": 5.125,
"avg_runs_allowed": 4.3438,
"offense_index": 1.1433,
"defense_index": 1.032,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1972
},
"edges": {
"quality_edge": -0.3028,
"offense_edge": -0.1286,
"opponent_offense_edge": 0.1433,
"defense_strength": 0.0509,
"opponent_defense_weakness": -0.032,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9837,
"run_prevention": 1.033,
"strikeout": 0.9795
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "662253",
"profile": {
"available": true,
"pitcher_id": "662253",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 192.0,
"k_percent": 37.4,
"bb_percent": 9.2,
"woba": 0.285,
"xwoba": 0.28,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 41.7,
"avg_best_speed": 75.9283,
"avg_hyper_speed": 94.4379,
"whiff_percent": 40.3,
"swing_percent": 47.3
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4545,
"command_and_miss": 1.7171,
"regression_edge": 0.1429,
"xwoba_edge": 0.9143,
"barrel_edge": -0.3556,
"hard_hit_edge": -0.5857,
"whiff_edge": 2.1286,
"bb_edge": -0.025,
"pitch_design_score": 0.1844
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "662253",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.20751716513081,
"release_spin_rate": 2314.842674231924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.20751716513081,
"release_spin_rate": 2314.842674231924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2075,
"release_spin_rate": 2314.8427,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1844,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3169,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5607,
"sample_weight": 0.768,
"run_prevention_factor": 0.9523,
"strikeout_factor": 1.1321,
"walk_factor": 1.0015,
"homer_factor": 1.0188,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662253",
"espn_id": 40939,
"player_name": "Andres Munoz",
"team": "SEA",
"role": "pitcher",
"espn_rank": 462,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 462,
"gp_value": 49.0,
"gp_rank": 71,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 4.2733,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 5.0,
"l_rank": 119,
"sv_value": 23.0,
"sv_rank": 12,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 46.1,
"ip_rank": 285,
"h_value": 38.0,
"h_rank": 304,
"er_value": 22.0,
"er_rank": 251,
"hr_value": 6.0,
"hr_rank": 244,
"bb_value": 18.0,
"bb_rank": 288,
"k_value": 73.0,
"k_rank": 140,
"k_per_9_value": 14.179856,
"k_per_9_rank": 13.0,
"whip_value": 1.2086,
"whip_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9634,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9634,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0144,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.1015,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 6,
"H": 9,
"BB": 3,
"SO": 18,
"HR": 2,
"ERA": 5.4,
"WHIP": 1.2,
"K9": 16.2,
"HR9": 1.8,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "662253",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.20751716513081,
"release_spin_rate": 2314.842674231924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.20751716513081,
"release_spin_rate": 2314.842674231924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2075,
"release_spin_rate": 2314.8427,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1844,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.3169,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.288,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6501,
"prior_weight": 0.3499
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "662253",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 5.0,
"H": 4.0,
"BB": 1.0,
"SO": 8.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 1.0,
"H": 0.8,
"BB": 0.2,
"SO": 1.6,
"HR": 0.2,
"BF": 3.8,
"Pitches": 13.8
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.0714,
"ER_per_IP": 0.85714,
"H_per_IP": 0.85714,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.71429,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 7.0,
"H": 9.0,
"BB": 3.0,
"SO": 18.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 166.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.7,
"H": 0.9,
"BB": 0.3,
"SO": 1.8,
"HR": 0.2,
"BF": 4.1,
"Pitches": 16.6
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2,
"ER_per_IP": 0.6,
"H_per_IP": 0.9,
"BB_per_IP": 0.3,
"SO_per_IP": 1.8,
"HR_per_IP": 0.2
}
},
"season": {
"games": 48,
"totals": {
"IP": 46.1,
"ER": 20.0,
"R": 22.0,
"H": 37.0,
"BB": 17.0,
"SO": 73.0,
"HR": 6.0,
"BF": 193.0,
"Pitches": 767.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4167,
"R": 0.4583,
"H": 0.7708,
"BB": 0.3542,
"SO": 1.5208,
"HR": 0.125,
"BF": 4.0208,
"Pitches": 15.9792
},
"rates": {
"ERA": 3.8849,
"WHIP": 1.1655,
"ER_per_IP": 0.43165,
"H_per_IP": 0.79856,
"BB_per_IP": 0.36691,
"SO_per_IP": 1.57554,
"HR_per_IP": 0.1295
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.619,
"predicted_H": 0.9,
"predicted_BB": 0.307,
"predicted_SO": 1.449,
"predicted_HR": 0.177,
"predicted_ERA": 5.5688,
"predicted_WHIP": 1.2064
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4978,
"form_weight": 0.5022,
"form_reliability": 0.6501,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.288,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6501,
"prior_weight": 0.3499
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.619,
"final": 0.3108,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.9,
"final": 0.452,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.307,
"final": 0.1542,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.449,
"final": 1.2255,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.177,
"final": 0.0889,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.5688,
"final": 5.5688,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2064,
"final": 1.2064,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Eduard Bazardo |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0823 |
| ESPN Rank | 182 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0756 |
| Avg Velo | 91.2652 |
| Avg Spin | 2328.7127 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3 |
| Season WHIP | 1.2632 |
| Role Avg IP | 0.9500 |
| Recent Avg IP | 1.1330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.4688,
"runs_scored": 500.0,
"runs_allowed": 546.0,
"run_differential": -46.0,
"run_differential_per_game": -0.3594,
"avg_runs_scored": 3.9062,
"avg_runs_allowed": 4.2656,
"offense_index": 0.8714,
"defense_index": 1.0509,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.9,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.1056
},
"opponent": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.5781,
"runs_scored": 656.0,
"runs_allowed": 556.0,
"run_differential": 100.0,
"run_differential_per_game": 0.7812,
"avg_runs_scored": 5.125,
"avg_runs_allowed": 4.3438,
"offense_index": 1.1433,
"defense_index": 1.032,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1972
},
"edges": {
"quality_edge": -0.3028,
"offense_edge": -0.1286,
"opponent_offense_edge": 0.1433,
"defense_strength": 0.0509,
"opponent_defense_weakness": -0.032,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9837,
"run_prevention": 1.033,
"strikeout": 0.9795
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660825",
"profile": {
"available": true,
"pitcher_id": "660825",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 226.0,
"k_percent": 23.8,
"bb_percent": 6.7,
"woba": 0.315,
"xwoba": 0.316,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 37.6,
"avg_best_speed": 79.0099,
"avg_hyper_speed": 94.0386,
"whiff_percent": 21.6,
"swing_percent": 46.2
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1836,
"command_and_miss": 0.0329,
"regression_edge": -0.0286,
"xwoba_edge": -0.1143,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.0,
"whiff_edge": -0.5429,
"bb_edge": 0.6,
"pitch_design_score": 0.0756
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "660825",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.26522526257112,
"release_spin_rate": 2328.7126743776525,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.26522526257112,
"release_spin_rate": 2328.7126743776525,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2652,
"release_spin_rate": 2328.7127,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0756,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.54,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0823,
"sample_weight": 0.904,
"run_prevention_factor": 1.007,
"strikeout_factor": 0.9886,
"walk_factor": 0.9566,
"homer_factor": 1.0256,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660825",
"espn_id": 41939,
"player_name": "Eduard Bazardo",
"team": "SEA",
"role": "pitcher",
"espn_rank": 182,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 182,
"gp_value": 60.0,
"gp_rank": 7,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.0,
"era_rank": null,
"w_value": 3.0,
"w_rank": 221,
"l_value": 3.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 24.0,
"hld_rank": 5,
"ip_value": 57.0,
"ip_rank": 205,
"h_value": 56.0,
"h_rank": 180,
"er_value": 19.0,
"er_rank": 295,
"hr_value": 8.0,
"hr_rank": 182,
"bb_value": 16.0,
"bb_rank": 326,
"k_value": 57.0,
"k_rank": 204,
"k_per_9_value": 9.0,
"k_per_9_rank": 26.0,
"whip_value": 1.2631,
"whip_rank": null,
"war_value": 0.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0063,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0063,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9608,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0231,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9897,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 4,
"H": 11,
"BB": 2,
"SO": 10,
"HR": 3,
"ERA": 3.6,
"WHIP": 1.3,
"K9": 9.0,
"HR9": 2.7,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "660825",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.26522526257112,
"release_spin_rate": 2328.7126743776525,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 91.26522526257112,
"release_spin_rate": 2328.7126743776525,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2652,
"release_spin_rate": 2328.7127,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0756,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.54,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.427,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6956,
"prior_weight": 0.3044
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "660825",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 60,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.6,
"Pitches": 16.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0588,
"ER_per_IP": 0.0,
"H_per_IP": 0.70588,
"BB_per_IP": 0.35294,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 5.0,
"H": 11.0,
"BB": 2.0,
"SO": 10.0,
"HR": 3.0,
"BF": 43.0,
"Pitches": 158.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 1.1,
"BB": 0.2,
"SO": 1.0,
"HR": 0.3,
"BF": 4.3,
"Pitches": 15.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.3,
"ER_per_IP": 0.4,
"H_per_IP": 1.1,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.3
}
},
"season": {
"games": 60,
"totals": {
"IP": 57.0,
"ER": 19.0,
"R": 22.0,
"H": 56.0,
"BB": 16.0,
"SO": 57.0,
"HR": 8.0,
"BF": 239.0,
"Pitches": 912.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3167,
"R": 0.3667,
"H": 0.9333,
"BB": 0.2667,
"SO": 0.95,
"HR": 0.1333,
"BF": 3.9833,
"Pitches": 15.2
},
"rates": {
"ERA": 3.0,
"WHIP": 1.2632,
"ER_per_IP": 0.33333,
"H_per_IP": 0.98246,
"BB_per_IP": 0.2807,
"SO_per_IP": 1.0,
"HR_per_IP": 0.14035
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.296,
"predicted_H": 0.921,
"predicted_BB": 0.31,
"predicted_SO": 1.004,
"predicted_HR": 0.137,
"predicted_ERA": 2.6668,
"predicted_WHIP": 1.2312
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4786,
"form_weight": 0.5214,
"form_reliability": 0.6956,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.427,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6956,
"prior_weight": 0.3044
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.296,
"final": 0.1543,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.921,
"final": 0.4802,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.31,
"final": 0.1616,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.004,
"final": 0.5235,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.137,
"final": 0.0714,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6668,
"final": 2.6668,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2312,
"final": 1.2312,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | José A. Ferrer |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2003 |
| ESPN Rank | 214 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2527 |
| Avg Velo | 94.4275 |
| Avg Spin | 2199.5106 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.5886 |
| Season WHIP | 1.3101 |
| Role Avg IP | 0.9240 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 128,
"wins": 60,
"losses": 68,
"win_pct": 0.4688,
"runs_scored": 500.0,
"runs_allowed": 546.0,
"run_differential": -46.0,
"run_differential_per_game": -0.3594,
"avg_runs_scored": 3.9062,
"avg_runs_allowed": 4.2656,
"offense_index": 0.8714,
"defense_index": 1.0509,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 6.9,
"run_differential": -30.0
},
"available": true,
"quality_score": -0.1056
},
"opponent": {
"team": "CHC",
"games": 128,
"wins": 74,
"losses": 54,
"win_pct": 0.5781,
"runs_scored": 656.0,
"runs_allowed": 556.0,
"run_differential": 100.0,
"run_differential_per_game": 0.7812,
"avg_runs_scored": 5.125,
"avg_runs_allowed": 4.3438,
"offense_index": 1.1433,
"defense_index": 1.032,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1972
},
"edges": {
"quality_edge": -0.3028,
"offense_edge": -0.1286,
"opponent_offense_edge": 0.1433,
"defense_strength": 0.0509,
"opponent_defense_weakness": -0.032,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9837,
"run_prevention": 1.033,
"strikeout": 0.9795
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678606",
"profile": {
"available": true,
"pitcher_id": "678606",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 220.0,
"k_percent": 19.0,
"bb_percent": 6.1,
"woba": 0.318,
"xwoba": 0.291,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 35.7,
"avg_best_speed": 75.278,
"avg_hyper_speed": 93.4291,
"whiff_percent": 19.7,
"swing_percent": 50.9
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.3908,
"command_and_miss": -0.3407,
"regression_edge": 0.7714,
"xwoba_edge": 0.6,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.2714,
"whiff_edge": -0.8143,
"bb_edge": 0.75,
"pitch_design_score": 0.2527
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678606",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.42752294501712,
"release_spin_rate": 2199.5105729009756,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.42752294501712,
"release_spin_rate": 2199.5105729009756,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.4275,
"release_spin_rate": 2199.5106,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2527,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8049,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.2003,
"sample_weight": 0.88,
"run_prevention_factor": 0.983,
"strikeout_factor": 0.9552,
"walk_factor": 0.9472,
"homer_factor": 0.9574,
"woba_minus_xwoba": 0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678606",
"espn_id": 5119607,
"player_name": "Jose Ferrer",
"team": "SEA",
"role": "pitcher",
"espn_rank": 214,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 214,
"gp_value": 58.0,
"gp_rank": 16,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.5886,
"era_rank": null,
"w_value": 4.0,
"w_rank": 162,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 3.0,
"sv_rank": 62,
"hld_value": 12.0,
"hld_rank": 47,
"ip_value": 52.2,
"ip_rank": 235,
"h_value": 56.0,
"h_rank": 180,
"er_value": 21.0,
"er_rank": 266,
"hr_value": 6.0,
"hr_rank": 244,
"bb_value": 14.0,
"bb_rank": 360,
"k_value": 44.0,
"k_rank": 297,
"k_per_9_value": 7.518987,
"k_per_9_rank": 34.0,
"whip_value": 1.3291,
"whip_rank": null,
"war_value": 0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.985,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.985,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9535,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9625,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9606,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 8,
"H": 11,
"BB": 1,
"SO": 8,
"HR": 3,
"ERA": 7.448275862068966,
"WHIP": 1.2413793103448276,
"K9": 7.448275862068966,
"HR9": 2.793103448275862,
"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-20T00:00:00"
}{
"available": true,
"pitcher_id": "678606",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.42752294501712,
"release_spin_rate": 2199.5105729009756,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.42752294501712,
"release_spin_rate": 2199.5105729009756,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.4275,
"release_spin_rate": 2199.5106,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2527,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8049,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 10.558,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6786,
"prior_weight": 0.3214
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "678606",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 57,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 0.0,
"SO": 5.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.0,
"SO": 1.0,
"HR": 0.2,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 3.8571,
"WHIP": 0.6429,
"ER_per_IP": 0.42857,
"H_per_IP": 0.64286,
"BB_per_IP": 0.0,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 8.0,
"R": 8.0,
"H": 11.0,
"BB": 1.0,
"SO": 8.0,
"HR": 3.0,
"BF": 42.0,
"Pitches": 144.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.1,
"BB": 0.1,
"SO": 0.8,
"HR": 0.3,
"BF": 4.2,
"Pitches": 14.4
},
"rates": {
"ERA": 7.4483,
"WHIP": 1.2414,
"ER_per_IP": 0.82759,
"H_per_IP": 1.13793,
"BB_per_IP": 0.10345,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.31034
}
},
"season": {
"games": 57,
"totals": {
"IP": 52.2,
"ER": 21.0,
"R": 22.0,
"H": 55.0,
"BB": 14.0,
"SO": 44.0,
"HR": 6.0,
"BF": 230.0,
"Pitches": 841.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3684,
"R": 0.386,
"H": 0.9649,
"BB": 0.2456,
"SO": 0.7719,
"HR": 0.1053,
"BF": 4.0351,
"Pitches": 14.7544
},
"rates": {
"ERA": 3.5886,
"WHIP": 1.3101,
"ER_per_IP": 0.39873,
"H_per_IP": 1.0443,
"BB_per_IP": 0.26582,
"SO_per_IP": 0.83544,
"HR_per_IP": 0.11392
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.543,
"predicted_H": 0.921,
"predicted_BB": 0.178,
"predicted_SO": 0.943,
"predicted_HR": 0.202,
"predicted_ERA": 4.8836,
"predicted_WHIP": 1.0992
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4858,
"form_weight": 0.5142,
"form_reliability": 0.6786,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.558,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6786,
"prior_weight": 0.3214
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.543,
"final": 0.2792,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.921,
"final": 0.4736,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.178,
"final": 0.0915,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.943,
"final": 0.9707,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.202,
"final": 0.1039,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8836,
"final": 4.8836,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0992,
"final": 1.0992,
"source": "form_only"
}
}
}{
"available": false,
"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.189 | 0.000 | 1.000 | Hitting_2B | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.099 | 3.000 | 3.000 | Hitting_AB | 3.445 | 5.000 | -0.445 | -2.000 |
| predicted_AVG | 0.262 | 0.000 | 0.333 | Hitting_AVG | 0.278 | 0.200 | -0.278 | -0.200 |
| predicted_BB | 0.306 | 1.000 | 0.000 | Hitting_BB | 0.382 | 0.000 | 0.618 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_H | 0.811 | 0.000 | 1.000 | Hitting_H | 0.958 | 1.000 | -0.958 | -1.000 |
| predicted_HR | 0.171 | 0.000 | 0.000 | Hitting_HR | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.333 | Hitting_OBP | 0.354 | 0.200 | -0.104 | 0.050 |
| predicted_R | 0.396 | 0.000 | 0.000 | Hitting_R | 0.489 | 0.000 | -0.489 | 0.000 |
| predicted_RBI | 0.495 | 0.000 | 1.000 | Hitting_RBI | 0.600 | 1.000 | -0.600 | -1.000 |
| predicted_SLG | 0.494 | 0.000 | 0.667 | Hitting_SLG | 0.534 | 0.200 | -0.534 | -0.200 |
| predicted_SO | 0.730 | 1.000 | 1.000 | Hitting_SO | 0.787 | 2.000 | 0.213 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3060 -> 1.0000 (boost 0.6940, better) |
| Biggest Deboost | predicted_H: 0.8110 -> 0.0000 (deboost -0.8110, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 5 | 1 | predicted_AB: 3.0990 -> 3.3040 (boost 0.2050, 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.4988 -> 0.4851 (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 | 1 | 6 | predicted_SO: 0.8082 -> 1.0000 (boost 0.1918, worse) | predicted_RBI: 0.4958 -> 0.0000 (deboost -0.4958, worse) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.270 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3800 -> 0.0000 (deboost -0.3800, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3346 -> 0.3400 (boost 0.0054, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3400 -> 0.3346 (deboost -0.0054, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686527",
"player_name": "Dominic Canzone",
"position": "RF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.009,
"predicted_AB": 3.099,
"predicted_AVG": 0.262,
"predicted_BB": 0.306,
"predicted_H": 0.811,
"predicted_HR": 0.171,
"predicted_OBP": 0.328,
"predicted_R": 0.396,
"predicted_RBI": 0.495,
"predicted_SLG": 0.494,
"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.2447,
"predicted_3B": 0.0081,
"predicted_AB": 3.304,
"predicted_AVG": 0.2778,
"predicted_BB": 0.3274,
"predicted_H": 0.9216,
"predicted_HBP": 0.025,
"predicted_HR": 0.1556,
"predicted_OBP": 0.3441,
"predicted_R": 0.4037,
"predicted_RBI": 0.5267,
"predicted_SLG": 0.4988,
"predicted_SO": 0.7969
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.2447,
"delta": 0.0557,
"percent_delta": 0.2947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0081,
"delta": -0.0009,
"percent_delta": -0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.099,
"after": 3.304,
"delta": 0.205,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2778,
"delta": 0.0158,
"percent_delta": 0.0603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 0.3274,
"delta": 0.0214,
"percent_delta": 0.0699,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.811,
"after": 0.9216,
"delta": 0.1106,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.171,
"after": 0.1556,
"delta": -0.0154,
"percent_delta": -0.0901,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3441,
"delta": 0.0161,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.396,
"after": 0.4037,
"delta": 0.0077,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.495,
"after": 0.5267,
"delta": 0.0317,
"percent_delta": 0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.494,
"after": 0.4988,
"delta": 0.0048,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.73,
"after": 0.7969,
"delta": 0.0669,
"percent_delta": 0.0916,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.099,
"after": 3.304,
"delta": 0.205,
"percent_delta": 0.0662,
"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": 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.2447,
"predicted_3B": 0.0081,
"predicted_AB": 3.304,
"predicted_AVG": 0.2696,
"predicted_BB": 0.3228,
"predicted_H": 0.8907,
"predicted_HBP": 0.025,
"predicted_HR": 0.1503,
"predicted_OBP": 0.3346,
"predicted_R": 0.38,
"predicted_RBI": 0.4958,
"predicted_SLG": 0.4851,
"predicted_SO": 0.8082
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2447,
"after": 0.2447,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0081,
"after": 0.0081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.304,
"after": 3.304,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2778,
"after": 0.2696,
"delta": -0.0082,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3274,
"after": 0.3228,
"delta": -0.0046,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9216,
"after": 0.8907,
"delta": -0.0309,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1556,
"after": 0.1503,
"delta": -0.0053,
"percent_delta": -0.0341,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3441,
"after": 0.3346,
"delta": -0.0095,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4037,
"after": 0.38,
"delta": -0.0237,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5267,
"after": 0.4958,
"delta": -0.0309,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4988,
"after": 0.4851,
"delta": -0.0137,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7969,
"after": 0.8082,
"delta": 0.0113,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4988,
"after": 0.4851,
"delta": -0.0137,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.30), rates preserved: AVG=0.270 HR/AB=0.046",
"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.2447,
"after": 0.0,
"delta": -0.2447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0081,
"after": 0.0,
"delta": -0.0081,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.304,
"after": 3.0,
"delta": -0.304,
"percent_delta": -0.092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3228,
"after": 0.0,
"delta": -0.3228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8907,
"after": 1.0,
"delta": 0.1093,
"percent_delta": 0.1227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1503,
"after": 0.0,
"delta": -0.1503,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4958,
"after": 0.0,
"delta": -0.4958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8082,
"after": 1.0,
"delta": 0.1918,
"percent_delta": 0.2373,
"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.8082,
"after": 1.0,
"delta": 0.1918,
"percent_delta": 0.2373,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4958,
"after": 0.0,
"delta": -0.4958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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.27,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.34,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.485,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2696,
"after": 0.27,
"delta": 0.0004,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3346,
"after": 0.34,
"delta": 0.0054,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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_SLG",
"before": 0.4851,
"after": 0.485,
"delta": -0.0001,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3346,
"after": 0.34,
"delta": 0.0054,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2696,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4851,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2696,
"delta": -0.0004,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3346,
"delta": -0.0054,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.4851,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.34,
"after": 0.3346,
"delta": -0.0054,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.099,
"after": 3.0,
"delta": -0.099,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2696,
"delta": 0.0076,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 1.0,
"delta": 0.694,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.811,
"after": 0.0,
"delta": -0.811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3346,
"delta": 0.0066,
"percent_delta": 0.0201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.495,
"after": 0.0,
"delta": -0.495,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.494,
"after": 0.4851,
"delta": -0.0089,
"percent_delta": -0.018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.306,
"after": 1.0,
"delta": 0.694,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.811,
"after": 0.0,
"delta": -0.811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.099 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.306 | - |
| predicted_H | 0.811 | - |
| predicted_HR | 0.171 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.396 | - |
| predicted_RBI | 0.495 | - |
| predicted_SLG | 0.494 | - |
| 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.245 | 0.056 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.304 | 0.205 |
| predicted_AVG | 0.278 | 0.016 |
| predicted_BB | 0.327 | 0.021 |
| predicted_H | 0.922 | 0.111 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.156 | -0.015 |
| predicted_OBP | 0.344 | 0.016 |
| predicted_R | 0.404 | 0.008 |
| predicted_RBI | 0.527 | 0.032 |
| predicted_SLG | 0.499 | 0.005 |
| predicted_SO | 0.797 | 0.067 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.245 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.304 | 0.000 |
| predicted_AVG | 0.270 | -0.008 |
| predicted_BB | 0.323 | -0.005 |
| predicted_H | 0.891 | -0.031 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.150 | -0.005 |
| predicted_OBP | 0.335 | -0.010 |
| predicted_R | 0.380 | -0.024 |
| predicted_RBI | 0.496 | -0.031 |
| predicted_SLG | 0.485 | -0.014 |
| predicted_SO | 0.808 | 0.011 |
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.270 HR/AB=0.046
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.245 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 3.000 | -0.304 |
| predicted_AVG | 0.270 | 0.000 |
| predicted_BB | 0.000 | -0.323 |
| predicted_H | 1.000 | 0.109 |
| predicted_HR | 0.000 | -0.150 |
| predicted_OBP | 0.340 | 0.005 |
| predicted_R | 0.000 | -0.380 |
| predicted_RBI | 0.000 | -0.496 |
| predicted_SLG | 0.485 | -0.000 |
| predicted_SO | 1.000 | 0.192 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 8.000 | 4.000 | 0.000 | 0.000 | 4.000 | 2.000 | 2.000 | 6.000 | 0.3636 | 0.4167 | 0.5455 | 0.3636 | 0.0000 | 0.1818 | 0.0909 | 0.2727 |
| last_10 | 0.20 | 10 | - | 41.000 | 15.000 | 4.000 | 0.000 | 1.000 | 6.000 | 4.000 | 5.000 | 11.000 | 0.3659 | 0.4348 | 0.5366 | 0.3659 | 0.0244 | 0.1463 | 0.1220 | 0.2683 |
| season | 0.60 | 111 | - | 344.000 | 90.000 | 21.000 | 1.000 | 19.000 | 55.000 | 44.000 | 34.000 | 81.000 | 0.2616 | 0.3333 | 0.4942 | 0.2616 | 0.0552 | 0.1599 | 0.0988 | 0.2355 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3190 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.5770 |
| predicted_AVG | 0.2989 |
| predicted_BB | 0.3560 |
| predicted_H | 1.0690 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1350 |
| predicted_OBP | 0.3656 |
| predicted_R | 0.4140 |
| predicted_RBI | 0.5690 |
| predicted_SLG | 0.5053 |
| predicted_SO | 0.8860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.3190 | 0.2447 | model_form_blend |
| predicted_3B | 0.0090 | 0.0070 | 0.0081 | model_form_blend |
| predicted_AB | 3.0990 | 3.5770 | 3.3040 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2989 | 0.2778 | model_form_blend |
| predicted_BB | 0.3060 | 0.3560 | 0.3274 | model_form_blend |
| predicted_H | 0.8110 | 1.0690 | 0.9216 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1710 | 0.1350 | 0.1556 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3656 | 0.3441 | model_form_blend |
| predicted_R | 0.3960 | 0.4140 | 0.4037 | model_form_blend |
| predicted_RBI | 0.4950 | 0.5690 | 0.5267 | model_form_blend |
| predicted_SLG | 0.4940 | 0.5053 | 0.4988 | model_form_blend |
| predicted_SO | 0.7300 | 0.8860 | 0.7969 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 380 |
| Season rows before report date | 380 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 686527 |
| playerID | 686527 |
| playerName | Dominic Canzone |
| pos | DH |
| started | True |
| startingPosition | RF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.357 |
| sl_xwoba | 0.358 |
| sl_xba | 0.271 |
| sl_xslg | 0.487 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 47.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.194 | 0.000 | 0.000 | Hitting_2B | 0.184 | 1.000 | -0.184 | -1.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 4.040 | 5.000 | 4.000 | Hitting_AB | 3.724 | 4.000 | 1.276 | 1.000 |
| predicted_AVG | 0.272 | 0.200 | 0.250 | Hitting_AVG | 0.281 | 0.500 | -0.081 | -0.300 |
| predicted_BB | 0.361 | 0.000 | 0.000 | Hitting_BB | 0.388 | 1.000 | -0.388 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 1.100 | 1.000 | 1.000 | Hitting_H | 1.046 | 2.000 | -0.046 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_OBP | 0.371 | 0.200 | 0.250 | Hitting_OBP | 0.373 | 0.600 | -0.173 | -0.400 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.382 | 0.000 | 0.618 | 1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.401 | 2.000 | -0.401 | -2.000 |
| predicted_SLG | 0.414 | 0.200 | 0.250 | Hitting_SLG | 0.422 | 0.750 | -0.222 | -0.550 |
| predicted_SO | 0.639 | 0.000 | 1.000 | Hitting_SO | 0.658 | 0.000 | -0.658 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 4.0400 -> 5.0000 (boost 0.9600, better) |
| Biggest Deboost | predicted_SO: 0.6390 -> 0.0000 (deboost -0.6390, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2720 -> 0.2830 (boost 0.0110, better) | predicted_AB: 4.0400 -> 3.9235 (deboost -0.1165, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3750 -> 0.3374 (deboost -0.0376, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.5080 -> 1.0000 (boost 0.4920, better) | predicted_BB: 0.3808 -> 0.0000 (deboost -0.3808, worse) | AB rounded to 4 (raw=4.04), rates preserved: AVG=0.265 HR/AB=0.015 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3260 -> 0.0000 (deboost -0.3260, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3851 -> 0.3530 (deboost -0.0321, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3530 -> 0.3851 (boost 0.0321, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680977",
"player_name": "Brendan Donovan",
"position": "3B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.194,
"predicted_3B": 0.028,
"predicted_AB": 4.04,
"predicted_AVG": 0.272,
"predicted_BB": 0.361,
"predicted_H": 1.1,
"predicted_HR": 0.06,
"predicted_OBP": 0.371,
"predicted_R": 0.333,
"predicted_RBI": 0.54,
"predicted_SLG": 0.414,
"predicted_SO": 0.639
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2137,
"predicted_3B": 0.0236,
"predicted_AB": 3.9235,
"predicted_AVG": 0.283,
"predicted_BB": 0.3863,
"predicted_H": 1.1088,
"predicted_HBP": 0.091,
"predicted_HR": 0.0616,
"predicted_OBP": 0.375,
"predicted_R": 0.3463,
"predicted_RBI": 0.5396,
"predicted_SLG": 0.4182,
"predicted_SO": 0.6611
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.2137,
"delta": 0.0197,
"percent_delta": 0.1015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0236,
"delta": -0.0044,
"percent_delta": -0.1571,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 3.9235,
"delta": -0.1165,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.283,
"delta": 0.011,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.361,
"after": 0.3863,
"delta": 0.0253,
"percent_delta": 0.0701,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.1088,
"delta": 0.0088,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0616,
"delta": 0.0016,
"percent_delta": 0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.375,
"delta": 0.004,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3463,
"delta": 0.0133,
"percent_delta": 0.0399,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5396,
"delta": -0.0004,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.4182,
"delta": 0.0042,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.6611,
"delta": 0.0221,
"percent_delta": 0.0346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.283,
"delta": 0.011,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 3.9235,
"delta": -0.1165,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 36
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2137,
"predicted_3B": 0.0236,
"predicted_AB": 3.9235,
"predicted_AVG": 0.2731,
"predicted_BB": 0.3808,
"predicted_H": 1.0717,
"predicted_HBP": 0.091,
"predicted_HR": 0.0595,
"predicted_OBP": 0.3374,
"predicted_R": 0.326,
"predicted_RBI": 0.508,
"predicted_SLG": 0.3851,
"predicted_SO": 0.6705
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2137,
"after": 0.2137,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0236,
"after": 0.0236,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9235,
"after": 3.9235,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2731,
"delta": -0.0099,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3863,
"after": 0.3808,
"delta": -0.0055,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1088,
"after": 1.0717,
"delta": -0.0371,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.091,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0616,
"after": 0.0595,
"delta": -0.0021,
"percent_delta": -0.0341,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3374,
"delta": -0.0376,
"percent_delta": -0.1003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3463,
"after": 0.326,
"delta": -0.0203,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5396,
"after": 0.508,
"delta": -0.0316,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4182,
"after": 0.3851,
"delta": -0.0331,
"percent_delta": -0.0791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6611,
"after": 0.6705,
"delta": 0.0094,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3374,
"delta": -0.0376,
"percent_delta": -0.1003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.04), rates preserved: AVG=0.265 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2137,
"after": 0.0,
"delta": -0.2137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0236,
"after": 0.0,
"delta": -0.0236,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9235,
"after": 4.0,
"delta": 0.0765,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3808,
"after": 0.0,
"delta": -0.3808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0717,
"after": 1.0,
"delta": -0.0717,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0595,
"after": 0.0,
"delta": -0.0595,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6705,
"after": 1.0,
"delta": 0.3295,
"percent_delta": 0.4914,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3808,
"after": 0.0,
"delta": -0.3808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9,
"bvp": 0.1
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.326,
"after": 0.0,
"delta": -0.326,
"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.326,
"after": 0.0,
"delta": -0.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"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": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.249,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.313,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.353,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2731,
"after": 0.249,
"delta": -0.0241,
"percent_delta": -0.0882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3374,
"after": 0.313,
"delta": -0.0244,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.3851,
"after": 0.353,
"delta": -0.0321,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3851,
"after": 0.353,
"delta": -0.0321,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "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.2731,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3374,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3851,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2731,
"delta": 0.0241,
"percent_delta": 0.0969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3374,
"delta": 0.0244,
"percent_delta": 0.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.353,
"after": 0.3851,
"delta": 0.0321,
"percent_delta": 0.0911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.353,
"after": 0.3851,
"delta": 0.0321,
"percent_delta": 0.0911,
"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.194,
"after": 0.0,
"delta": -0.194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 5.0,
"delta": 0.96,
"percent_delta": 0.2376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2731,
"delta": 0.0011,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.361,
"after": 0.0,
"delta": -0.361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0,
"delta": -0.1,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3374,
"delta": -0.0336,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.3851,
"delta": -0.0289,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.0,
"delta": -0.639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 5.0,
"delta": 0.96,
"percent_delta": 0.2376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.639,
"after": 0.0,
"delta": -0.639,
"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.194 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 4.040 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.361 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.371 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.414 | - |
| predicted_SO | 0.639 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | 0.020 |
| predicted_3B | 0.024 | -0.004 |
| predicted_AB | 3.924 | -0.116 |
| predicted_AVG | 0.283 | 0.011 |
| predicted_BB | 0.386 | 0.025 |
| predicted_H | 1.109 | 0.009 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.062 | 0.002 |
| predicted_OBP | 0.375 | 0.004 |
| predicted_R | 0.346 | 0.013 |
| predicted_RBI | 0.540 | -0.000 |
| predicted_SLG | 0.418 | 0.004 |
| predicted_SO | 0.661 | 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.214 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.924 | 0.000 |
| predicted_AVG | 0.273 | -0.010 |
| predicted_BB | 0.381 | -0.005 |
| predicted_H | 1.072 | -0.037 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.059 | -0.002 |
| predicted_OBP | 0.337 | -0.038 |
| predicted_R | 0.326 | -0.020 |
| predicted_RBI | 0.508 | -0.032 |
| predicted_SLG | 0.385 | -0.033 |
| predicted_SO | 0.670 | 0.009 |
AB rounded to 4 (raw=4.04), rates preserved: AVG=0.265 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.214 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.076 |
| predicted_AVG | 0.249 | -0.024 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | -0.072 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.313 | -0.024 |
| predicted_R | 0.000 | -0.326 |
| predicted_RBI | 1.000 | 0.492 |
| predicted_SLG | 0.353 | -0.032 |
| predicted_SO | 1.000 | 0.330 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 8.000 | 2.000 | 0.000 | 0.000 | 5.000 | 2.000 | 4.000 | 4.000 | 0.4211 | 0.5217 | 0.5263 | 0.4210 | 0.0000 | 0.2632 | 0.2105 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 3.000 | 0.000 | 0.000 | 6.000 | 3.000 | 4.000 | 6.000 | 0.3077 | 0.3721 | 0.3846 | 0.3077 | 0.0000 | 0.1538 | 0.1026 | 0.1538 |
| season | 0.60 | 36 | - | 132.000 | 36.000 | 7.000 | 1.000 | 3.000 | 14.000 | 12.000 | 13.000 | 23.000 | 0.2727 | 0.3618 | 0.4091 | 0.2727 | 0.0227 | 0.1061 | 0.0985 | 0.1742 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2430 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.7500 |
| predicted_AVG | 0.2993 |
| predicted_BB | 0.4240 |
| predicted_H | 1.1220 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.3809 |
| predicted_R | 0.3660 |
| predicted_RBI | 0.5390 |
| predicted_SLG | 0.4244 |
| predicted_SO | 0.6940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.2430 | 0.2137 | model_form_blend |
| predicted_3B | 0.0280 | 0.0170 | 0.0236 | model_form_blend |
| predicted_AB | 4.0400 | 3.7500 | 3.9235 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2993 | 0.2830 | model_form_blend |
| predicted_BB | 0.3610 | 0.4240 | 0.3863 | model_form_blend |
| predicted_H | 1.1000 | 1.1220 | 1.1088 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.0600 | 0.0640 | 0.0616 | model_form_blend |
| predicted_OBP | 0.3710 | 0.3809 | 0.3750 | model_form_blend |
| predicted_R | 0.3330 | 0.3660 | 0.3463 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5390 | 0.5396 | model_form_blend |
| predicted_SLG | 0.4140 | 0.4244 | 0.4182 | model_form_blend |
| predicted_SO | 0.6390 | 0.6940 | 0.6611 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 152 |
| Season rows before report date | 152 |
| Report year | 2026 |
| Profile rows used | 36 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 680977 |
| playerID | 680977 |
| playerName | Brendan Donovan |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 14.9 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.348 |
| sl_xwoba | 0.313 |
| sl_xba | 0.245 |
| sl_xslg | 0.34 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 28.2 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_AB | 3.712 | 4.000 | 4.000 | Hitting_AB | 4.054 | 2.000 | -0.054 | 2.000 |
| predicted_AVG | 0.240 | 0.000 | 0.250 | Hitting_AVG | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_BB | 0.729 | 0.000 | 1.000 | Hitting_BB | 0.054 | 2.000 | -0.054 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.676 | 0.000 | -0.676 | 0.000 |
| predicted_HR | 0.059 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.365 | 0.000 | 0.400 | Hitting_OBP | 0.178 | 0.500 | -0.178 | -0.500 |
| predicted_R | 0.542 | 0.000 | 1.000 | Hitting_R | 0.162 | 1.000 | -0.162 | -1.000 |
| predicted_RBI | 0.263 | 0.000 | 0.000 | Hitting_RBI | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_SLG | 0.338 | 0.000 | 0.250 | Hitting_SLG | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_SO | 0.932 | 2.000 | 1.000 | Hitting_SO | 0.865 | 2.000 | 1.135 | 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.9320 -> 2.0000 (boost 1.0680, worse) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.0000 (deboost -0.8900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_BB: 0.7290 -> 0.6495 (deboost -0.0795, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3219 -> 0.3122 (deboost -0.0097, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.6403 -> 1.0000 (boost 0.3597, better) | predicted_RBI: 0.2574 -> 0.0000 (deboost -0.2574, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.218 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4726 -> 0.0000 (deboost -0.4726, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621493",
"player_name": "Taylor Ward",
"position": "DH",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.008,
"predicted_AB": 3.712,
"predicted_AVG": 0.24,
"predicted_BB": 0.729,
"predicted_H": 0.89,
"predicted_HR": 0.059,
"predicted_OBP": 0.365,
"predicted_R": 0.542,
"predicted_RBI": 0.263,
"predicted_SLG": 0.338,
"predicted_SO": 0.932
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1425,
"predicted_3B": 0.0306,
"predicted_AB": 3.745,
"predicted_AVG": 0.226,
"predicted_BB": 0.6495,
"predicted_H": 0.8453,
"predicted_HBP": 0.031,
"predicted_HR": 0.0512,
"predicted_OBP": 0.3398,
"predicted_R": 0.502,
"predicted_RBI": 0.2734,
"predicted_SLG": 0.3219,
"predicted_SO": 0.9411
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1425,
"delta": -0.0265,
"percent_delta": -0.1568,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0306,
"delta": 0.0226,
"percent_delta": 2.825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.712,
"after": 3.745,
"delta": 0.033,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.226,
"delta": -0.014,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.729,
"after": 0.6495,
"delta": -0.0795,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8453,
"delta": -0.0447,
"percent_delta": -0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.059,
"after": 0.0512,
"delta": -0.0078,
"percent_delta": -0.1322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3398,
"delta": -0.0252,
"percent_delta": -0.069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 0.502,
"delta": -0.04,
"percent_delta": -0.0738,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.263,
"after": 0.2734,
"delta": 0.0104,
"percent_delta": 0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3219,
"delta": -0.0161,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.932,
"after": 0.9411,
"delta": 0.0091,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.729,
"after": 0.6495,
"delta": -0.0795,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 118
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1425,
"predicted_3B": 0.0306,
"predicted_AB": 3.745,
"predicted_AVG": 0.2182,
"predicted_BB": 0.6403,
"predicted_H": 0.817,
"predicted_HBP": 0.031,
"predicted_HR": 0.0495,
"predicted_OBP": 0.3323,
"predicted_R": 0.4726,
"predicted_RBI": 0.2574,
"predicted_SLG": 0.3122,
"predicted_SO": 0.9545
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1425,
"after": 0.1425,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0306,
"after": 0.0306,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.745,
"after": 3.745,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2182,
"delta": -0.0078,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6495,
"after": 0.6403,
"delta": -0.0092,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8453,
"after": 0.817,
"delta": -0.0283,
"percent_delta": -0.0335,
"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.0512,
"after": 0.0495,
"delta": -0.0017,
"percent_delta": -0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3398,
"after": 0.3323,
"delta": -0.0075,
"percent_delta": -0.0221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.502,
"after": 0.4726,
"delta": -0.0294,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2734,
"after": 0.2574,
"delta": -0.016,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3219,
"after": 0.3122,
"delta": -0.0097,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9411,
"after": 0.9545,
"delta": 0.0134,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3219,
"after": 0.3122,
"delta": -0.0097,
"percent_delta": -0.0301,
"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.218 HR/AB=0.013",
"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.1425,
"after": 0.0,
"delta": -0.1425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0306,
"after": 0.0,
"delta": -0.0306,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.745,
"after": 4.0,
"delta": 0.255,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6403,
"after": 1.0,
"delta": 0.3597,
"percent_delta": 0.5618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.817,
"after": 1.0,
"delta": 0.183,
"percent_delta": 0.224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0495,
"after": 0.0,
"delta": -0.0495,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2574,
"after": 0.0,
"delta": -0.2574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9545,
"after": 1.0,
"delta": 0.0455,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6403,
"after": 1.0,
"delta": 0.3597,
"percent_delta": 0.5618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2574,
"after": 0.0,
"delta": -0.2574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4726,
"after": 0.0,
"delta": -0.4726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4726,
"after": 0.0,
"delta": -0.4726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.218,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.337,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.312,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2182,
"after": 0.218,
"delta": -0.0002,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3323,
"after": 0.337,
"delta": 0.0047,
"percent_delta": 0.0141,
"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_SLG",
"before": 0.3122,
"after": 0.312,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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_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.2182,
"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.3323,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3122,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2182,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3323,
"delta": -0.0047,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.312,
"after": 0.3122,
"delta": 0.0002,
"percent_delta": 0.0006,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.712,
"after": 4.0,
"delta": 0.288,
"percent_delta": 0.0776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2182,
"delta": -0.0218,
"percent_delta": -0.0908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.729,
"after": 0.0,
"delta": -0.729,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.365,
"after": 0.3323,
"delta": -0.0327,
"percent_delta": -0.0896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 0.0,
"delta": -0.542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3122,
"delta": -0.0258,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.932,
"after": 2.0,
"delta": 1.068,
"percent_delta": 1.1459,
"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.932,
"after": 2.0,
"delta": 1.068,
"percent_delta": 1.1459,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.712 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.729 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.059 | - |
| predicted_OBP | 0.365 | - |
| predicted_R | 0.542 | - |
| predicted_RBI | 0.263 | - |
| predicted_SLG | 0.338 | - |
| predicted_SO | 0.932 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | -0.027 |
| predicted_3B | 0.031 | 0.023 |
| predicted_AB | 3.745 | 0.033 |
| predicted_AVG | 0.226 | -0.014 |
| predicted_BB | 0.649 | -0.080 |
| predicted_H | 0.845 | -0.045 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.051 | -0.008 |
| predicted_OBP | 0.340 | -0.025 |
| predicted_R | 0.502 | -0.040 |
| predicted_RBI | 0.273 | 0.010 |
| predicted_SLG | 0.322 | -0.016 |
| predicted_SO | 0.941 | 0.009 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 3.745 | 0.000 |
| predicted_AVG | 0.218 | -0.008 |
| predicted_BB | 0.640 | -0.009 |
| predicted_H | 0.817 | -0.028 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.050 | -0.002 |
| predicted_OBP | 0.332 | -0.008 |
| predicted_R | 0.473 | -0.029 |
| predicted_RBI | 0.257 | -0.016 |
| predicted_SLG | 0.312 | -0.010 |
| predicted_SO | 0.955 | 0.013 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.218 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.142 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 4.000 | 0.255 |
| predicted_AVG | 0.218 | -0.000 |
| predicted_BB | 1.000 | 0.360 |
| predicted_H | 1.000 | 0.183 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.337 | 0.005 |
| predicted_R | 0.000 | -0.473 |
| predicted_RBI | 0.000 | -0.257 |
| predicted_SLG | 0.312 | -0.000 |
| predicted_SO | 1.000 | 0.045 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 0.000 | 1.000 | 0.000 | 2.000 | 2.000 | 2.000 | 5.000 | 0.1500 | 0.2273 | 0.2500 | 0.1500 | 0.0000 | 0.1000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 0.000 | 1.000 | 0.000 | 2.000 | 2.000 | 2.000 | 10.000 | 0.1579 | 0.2000 | 0.2105 | 0.1579 | 0.0000 | 0.0526 | 0.0526 | 0.2632 |
| season | 0.60 | 118 | - | 438.000 | 105.000 | 20.000 | 1.000 | 7.000 | 31.000 | 64.000 | 86.000 | 110.000 | 0.2397 | 0.3696 | 0.3379 | 0.2397 | 0.0160 | 0.0708 | 0.1963 | 0.2511 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0600 |
| predicted_AB | 3.7880 |
| predicted_AVG | 0.2077 |
| predicted_BB | 0.5460 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.0410 |
| predicted_OBP | 0.3071 |
| predicted_R | 0.4500 |
| predicted_RBI | 0.2870 |
| predicted_SLG | 0.3009 |
| predicted_SO | 0.9530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1080 | 0.1425 | model_form_blend |
| predicted_3B | 0.0080 | 0.0600 | 0.0306 | model_form_blend |
| predicted_AB | 3.7120 | 3.7880 | 3.7450 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2077 | 0.2260 | model_form_blend |
| predicted_BB | 0.7290 | 0.5460 | 0.6495 | model_form_blend |
| predicted_H | 0.8900 | 0.7870 | 0.8453 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.0590 | 0.0410 | 0.0512 | model_form_blend |
| predicted_OBP | 0.3650 | 0.3071 | 0.3398 | model_form_blend |
| predicted_R | 0.5420 | 0.4500 | 0.5020 | model_form_blend |
| predicted_RBI | 0.2630 | 0.2870 | 0.2734 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3009 | 0.3219 | model_form_blend |
| predicted_SO | 0.9320 | 0.9530 | 0.9411 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 118 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | DH |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 621493 |
| playerID | 621493 |
| playerName | Taylor Ward |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 16.3 |
| sl_woba | 0.324 |
| sl_xwoba | 0.339 |
| sl_xba | 0.247 |
| sl_xslg | 0.372 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 19.4 |
| sl_swing_percent | 34.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.155 | 0.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.880 | 3.000 | 5.000 | Hitting_AB | 4.010 | 5.000 | -1.010 | -2.000 |
| predicted_AVG | 0.242 | 0.000 | 0.200 | Hitting_AVG | 0.253 | 0.200 | -0.253 | -0.200 |
| predicted_BB | 0.336 | 1.000 | 0.000 | Hitting_BB | 0.350 | 0.000 | 0.650 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 1.180 | 0.000 | 1.000 | Hitting_H | 1.016 | 1.000 | -1.016 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 1.000 | Hitting_HR | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_OBP | 0.289 | 0.250 | 0.200 | Hitting_OBP | 0.317 | 0.200 | -0.067 | 0.050 |
| predicted_R | 0.500 | 0.000 | 1.000 | Hitting_R | 0.521 | 0.000 | -0.521 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.477 | 0.000 | -0.477 | 0.000 |
| predicted_SLG | 0.394 | 0.000 | 0.800 | Hitting_SLG | 0.414 | 0.200 | -0.414 | -0.200 |
| predicted_SO | 0.922 | 1.000 | 1.000 | Hitting_SO | 0.924 | 1.000 | 0.076 | 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_BB: 0.3360 -> 1.0000 (boost 0.6640, better) |
| Biggest Deboost | predicted_AB: 4.8800 -> 3.0000 (deboost -1.8800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.9220 -> 0.9732 (boost 0.0512, worse) | predicted_AB: 4.8800 -> 4.5322 (deboost -0.3478, worse) | Final model input calibrated with local form: 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.3776 -> 0.3656 (deboost -0.0120, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_AB: 4.5322 -> 5.0000 (boost 0.4678, better) | predicted_RBI: 0.3901 -> 0.0000 (deboost -0.3901, worse) | AB rounded to 5 (raw=4.88), rates preserved: AVG=0.210 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4569 -> 0.0000 (deboost -0.4569, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 5 | 0 | 5 | 0 | 5 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3470 -> 0.3656 (boost 0.0186, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.155,
"predicted_3B": 0.0,
"predicted_AB": 4.88,
"predicted_AVG": 0.242,
"predicted_BB": 0.336,
"predicted_H": 1.18,
"predicted_HR": 0.19,
"predicted_OBP": 0.289,
"predicted_R": 0.5,
"predicted_RBI": 0.45,
"predicted_SLG": 0.394,
"predicted_SO": 0.922
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1628,
"predicted_3B": 0.0004,
"predicted_AB": 4.5322,
"predicted_AVG": 0.2337,
"predicted_BB": 0.3239,
"predicted_H": 1.0625,
"predicted_HBP": 0.027,
"predicted_HR": 0.1609,
"predicted_OBP": 0.2842,
"predicted_R": 0.4853,
"predicted_RBI": 0.4144,
"predicted_SLG": 0.3776,
"predicted_SO": 0.9732
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1628,
"delta": 0.0078,
"percent_delta": 0.0503,
"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.88,
"after": 4.5322,
"delta": -0.3478,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2337,
"delta": -0.0083,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.336,
"after": 0.3239,
"delta": -0.0121,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.0625,
"delta": -0.1175,
"percent_delta": -0.0996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1609,
"delta": -0.0291,
"percent_delta": -0.1532,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2842,
"delta": -0.0048,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4853,
"delta": -0.0147,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4144,
"delta": -0.0356,
"percent_delta": -0.0791,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3776,
"delta": -0.0164,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.922,
"after": 0.9732,
"delta": 0.0512,
"percent_delta": 0.0555,
"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.922,
"after": 0.9732,
"delta": 0.0512,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.88,
"after": 4.5322,
"delta": -0.3478,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1628,
"predicted_3B": 0.0004,
"predicted_AB": 4.5322,
"predicted_AVG": 0.2266,
"predicted_BB": 0.3193,
"predicted_H": 1.0269,
"predicted_HBP": 0.027,
"predicted_HR": 0.1555,
"predicted_OBP": 0.2775,
"predicted_R": 0.4569,
"predicted_RBI": 0.3901,
"predicted_SLG": 0.3656,
"predicted_SO": 0.987
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1628,
"after": 0.1628,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5322,
"after": 4.5322,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2337,
"after": 0.2266,
"delta": -0.0071,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3239,
"after": 0.3193,
"delta": -0.0046,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0625,
"after": 1.0269,
"delta": -0.0356,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1609,
"after": 0.1555,
"delta": -0.0054,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2842,
"after": 0.2775,
"delta": -0.0067,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4853,
"after": 0.4569,
"delta": -0.0284,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4144,
"after": 0.3901,
"delta": -0.0243,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3776,
"after": 0.3656,
"delta": -0.012,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9732,
"after": 0.987,
"delta": 0.0138,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3776,
"after": 0.3656,
"delta": -0.012,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.88), rates preserved: AVG=0.210 HR/AB=0.032",
"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.1628,
"after": 0.0,
"delta": -0.1628,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5322,
"after": 5.0,
"delta": 0.4678,
"percent_delta": 0.1032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3193,
"after": 0.0,
"delta": -0.3193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0269,
"after": 1.0,
"delta": -0.0269,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1555,
"after": 0.0,
"delta": -0.1555,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3901,
"after": 0.0,
"delta": -0.3901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.987,
"after": 1.0,
"delta": 0.013,
"percent_delta": 0.0132,
"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": 4.5322,
"after": 5.0,
"delta": 0.4678,
"percent_delta": 0.1032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3901,
"after": 0.0,
"delta": -0.3901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4569,
"after": 0.0,
"delta": -0.4569,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4569,
"after": 0.0,
"delta": -0.4569,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_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": 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.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.265,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.347,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2266,
"after": 0.21,
"delta": -0.0166,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2775,
"after": 0.265,
"delta": -0.0125,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3656,
"after": 0.347,
"delta": -0.0186,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_HR",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2266,
"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.2775,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3656,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.2266,
"delta": 0.0166,
"percent_delta": 0.079,
"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.265,
"after": 0.2775,
"delta": 0.0125,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3656,
"delta": 0.0186,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3656,
"delta": 0.0186,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.88,
"after": 3.0,
"delta": -1.88,
"percent_delta": -0.3852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2266,
"delta": -0.0154,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.336,
"after": 1.0,
"delta": 0.664,
"percent_delta": 1.9762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 0.0,
"delta": -1.18,
"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.289,
"after": 0.2775,
"delta": -0.0115,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3656,
"delta": -0.0284,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.922,
"after": 1.0,
"delta": 0.078,
"percent_delta": 0.0846,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.336,
"after": 1.0,
"delta": 0.664,
"percent_delta": 1.9762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.88,
"after": 3.0,
"delta": -1.88,
"percent_delta": -0.3852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.880 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.336 | - |
| predicted_H | 1.180 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 0.922 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.008 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.532 | -0.348 |
| predicted_AVG | 0.234 | -0.008 |
| predicted_BB | 0.324 | -0.012 |
| predicted_H | 1.062 | -0.117 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.161 | -0.029 |
| predicted_OBP | 0.284 | -0.005 |
| predicted_R | 0.485 | -0.015 |
| predicted_RBI | 0.414 | -0.036 |
| predicted_SLG | 0.378 | -0.016 |
| predicted_SO | 0.973 | 0.051 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.532 | 0.000 |
| predicted_AVG | 0.227 | -0.007 |
| predicted_BB | 0.319 | -0.005 |
| predicted_H | 1.027 | -0.036 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.155 | -0.005 |
| predicted_OBP | 0.278 | -0.007 |
| predicted_R | 0.457 | -0.028 |
| predicted_RBI | 0.390 | -0.024 |
| predicted_SLG | 0.366 | -0.012 |
| predicted_SO | 0.987 | 0.014 |
AB rounded to 5 (raw=4.88), rates preserved: AVG=0.210 HR/AB=0.032
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 | 1.000 | 1.000 |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.000 |
| predicted_AB | 5.000 | 0.468 |
| predicted_AVG | 0.210 | -0.017 |
| predicted_BB | 0.000 | -0.319 |
| predicted_H | 1.000 | -0.027 |
| predicted_HR | 0.000 | -0.155 |
| predicted_OBP | 0.265 | -0.013 |
| predicted_R | 0.000 | -0.457 |
| predicted_RBI | 0.000 | -0.390 |
| predicted_SLG | 0.347 | -0.019 |
| predicted_SO | 1.000 | 0.013 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 6.000 | 0.1739 | 0.1739 | 0.2174 | 0.1739 | 0.0000 | 0.0435 | 0.0000 | 0.2609 |
| last_10 | 0.20 | 10 | - | 40.000 | 7.000 | 2.000 | 0.000 | 1.000 | 2.000 | 4.000 | 5.000 | 13.000 | 0.1750 | 0.2609 | 0.3000 | 0.1750 | 0.0250 | 0.0500 | 0.1250 | 0.3250 |
| season | 0.60 | 116 | - | 459.000 | 116.000 | 18.000 | 0.000 | 19.000 | 53.000 | 58.000 | 39.000 | 107.000 | 0.2527 | 0.3156 | 0.4161 | 0.2527 | 0.0414 | 0.1155 | 0.0850 | 0.2331 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0780 |
| predicted_AVG | 0.2229 |
| predicted_BB | 0.3080 |
| predicted_H | 0.9090 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.2779 |
| predicted_R | 0.4660 |
| predicted_RBI | 0.3680 |
| predicted_SLG | 0.3562 |
| predicted_SO | 1.0400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.1730 | 0.1628 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.8800 | 4.0780 | 4.5322 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2229 | 0.2337 | model_form_blend |
| predicted_BB | 0.3360 | 0.3080 | 0.3239 | model_form_blend |
| predicted_H | 1.1800 | 0.9090 | 1.0625 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.1900 | 0.1230 | 0.1609 | model_form_blend |
| predicted_OBP | 0.2890 | 0.2779 | 0.2842 | model_form_blend |
| predicted_R | 0.5000 | 0.4660 | 0.4853 | model_form_blend |
| predicted_RBI | 0.4500 | 0.3680 | 0.4144 | model_form_blend |
| predicted_SLG | 0.3940 | 0.3562 | 0.3776 | model_form_blend |
| predicted_SO | 0.9220 | 1.0400 | 0.9732 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 503 |
| Season rows before report date | 503 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 677594 |
| playerID | 677594 |
| playerName | Julio Rodríguez |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 21.1 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.32 |
| sl_xwoba | 0.351 |
| sl_xba | 0.274 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 52.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.151 | 0.000 | 0.000 | Hitting_2B | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.560 | 3.000 | 5.000 | Hitting_AB | 3.943 | 4.000 | -0.943 | -1.000 |
| predicted_AVG | 0.247 | 0.333 | 0.200 | Hitting_AVG | 0.276 | 0.000 | 0.057 | 0.333 |
| predicted_BB | 0.328 | 1.000 | 0.000 | Hitting_BB | 0.340 | 0.000 | 0.660 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_H | 1.130 | 1.000 | 1.000 | Hitting_H | 1.089 | 0.000 | -0.089 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_OBP | 0.322 | 0.500 | 0.200 | Hitting_OBP | 0.340 | 0.000 | 0.160 | 0.500 |
| predicted_R | 0.395 | 1.000 | 0.000 | Hitting_R | 0.417 | 0.000 | 0.583 | 1.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.403 | 0.000 | -0.403 | 0.000 |
| predicted_SLG | 0.378 | 0.333 | 0.200 | Hitting_SLG | 0.378 | 0.000 | -0.045 | 0.333 |
| predicted_SO | 0.538 | 0.000 | 1.000 | Hitting_SO | 0.547 | 0.000 | -0.547 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3280 -> 1.0000 (boost 0.6720, better) |
| Biggest Deboost | predicted_AB: 4.5600 -> 3.0000 (deboost -1.5600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2470 -> 0.2673 (boost 0.0203, better) | predicted_AB: 4.5600 -> 4.3345 (deboost -0.2255, worse) | Final model input calibrated with local form: 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.3872 -> 0.3529 (deboost -0.0343, 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.3345 -> 5.0000 (boost 0.6655, better) | predicted_RBI: 0.4184 -> 0.0000 (deboost -0.4184, worse) | AB rounded to 5 (raw=4.56), rates preserved: AVG=0.245 HR/AB=0.020 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3837 -> 0.0000 (deboost -0.3837, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3420 -> 0.3529 (boost 0.0109, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "647304",
"player_name": "Josh Naylor",
"position": "1B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.151,
"predicted_3B": 0.0,
"predicted_AB": 4.56,
"predicted_AVG": 0.247,
"predicted_BB": 0.328,
"predicted_H": 1.13,
"predicted_HR": 0.09,
"predicted_OBP": 0.322,
"predicted_R": 0.395,
"predicted_RBI": 0.45,
"predicted_SLG": 0.378,
"predicted_SO": 0.538
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1454,
"predicted_3B": 0.0004,
"predicted_AB": 4.3345,
"predicted_AVG": 0.2673,
"predicted_BB": 0.2929,
"predicted_H": 1.1547,
"predicted_HBP": 0.046,
"predicted_HR": 0.0922,
"predicted_OBP": 0.3293,
"predicted_R": 0.4076,
"predicted_RBI": 0.4444,
"predicted_SLG": 0.3872,
"predicted_SO": 0.5627
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.1454,
"delta": -0.0056,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.56,
"after": 4.3345,
"delta": -0.2255,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2673,
"delta": 0.0203,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 0.2929,
"delta": -0.0351,
"percent_delta": -0.107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.1547,
"delta": 0.0247,
"percent_delta": 0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0922,
"delta": 0.0022,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3293,
"delta": 0.0073,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 0.4076,
"delta": 0.0126,
"percent_delta": 0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4444,
"delta": -0.0056,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3872,
"delta": 0.0092,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 0.5627,
"delta": 0.0247,
"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_AVG",
"before": 0.247,
"after": 0.2673,
"delta": 0.0203,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.56,
"after": 4.3345,
"delta": -0.2255,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.1454,
"predicted_3B": 0.0004,
"predicted_AB": 4.3345,
"predicted_AVG": 0.2575,
"predicted_BB": 0.2887,
"predicted_H": 1.116,
"predicted_HBP": 0.046,
"predicted_HR": 0.0891,
"predicted_OBP": 0.3038,
"predicted_R": 0.3837,
"predicted_RBI": 0.4184,
"predicted_SLG": 0.3529,
"predicted_SO": 0.5707
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.1454,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3345,
"after": 4.3345,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2673,
"after": 0.2575,
"delta": -0.0098,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2929,
"after": 0.2887,
"delta": -0.0042,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1547,
"after": 1.116,
"delta": -0.0387,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0922,
"after": 0.0891,
"delta": -0.0031,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3293,
"after": 0.3038,
"delta": -0.0255,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4076,
"after": 0.3837,
"delta": -0.0239,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4444,
"after": 0.4184,
"delta": -0.026,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3872,
"after": 0.3529,
"delta": -0.0343,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5627,
"after": 0.5707,
"delta": 0.008,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3872,
"after": 0.3529,
"delta": -0.0343,
"percent_delta": -0.0886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.56), rates preserved: AVG=0.245 HR/AB=0.020",
"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.1454,
"after": 0.0,
"delta": -0.1454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3345,
"after": 5.0,
"delta": 0.6655,
"percent_delta": 0.1535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2887,
"after": 0.0,
"delta": -0.2887,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.116,
"after": 1.0,
"delta": -0.116,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0891,
"after": 0.0,
"delta": -0.0891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4184,
"after": 0.0,
"delta": -0.4184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5707,
"after": 1.0,
"delta": 0.4293,
"percent_delta": 0.7522,
"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.3345,
"after": 5.0,
"delta": 0.6655,
"percent_delta": 0.1535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4184,
"after": 0.0,
"delta": -0.4184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
"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.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": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3837,
"after": 0.0,
"delta": -0.3837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3837,
"after": 0.0,
"delta": -0.3837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 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": "embedded_savant_player_context",
"description": "Player 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.248,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.342,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2575,
"after": 0.248,
"delta": -0.0095,
"percent_delta": -0.0369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3038,
"after": 0.302,
"delta": -0.0018,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3529,
"after": 0.342,
"delta": -0.0109,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "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.2575,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3038,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3529,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2575,
"delta": 0.0095,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3038,
"delta": 0.0018,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.3529,
"delta": 0.0109,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.342,
"after": 0.3529,
"delta": 0.0109,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.56,
"after": 3.0,
"delta": -1.56,
"percent_delta": -0.3421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2575,
"delta": 0.0105,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 1.0,
"delta": 0.672,
"percent_delta": 2.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.0,
"delta": -0.13,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3038,
"delta": -0.0182,
"percent_delta": -0.0565,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 1.0,
"delta": 0.605,
"percent_delta": 1.5316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3529,
"delta": -0.0251,
"percent_delta": -0.0664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.328,
"after": 1.0,
"delta": 0.672,
"percent_delta": 2.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.56,
"after": 3.0,
"delta": -1.56,
"percent_delta": -0.3421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.560 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.328 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.395 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 0.538 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | -0.006 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.335 | -0.225 |
| predicted_AVG | 0.267 | 0.020 |
| predicted_BB | 0.293 | -0.035 |
| predicted_H | 1.155 | 0.025 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.092 | 0.002 |
| predicted_OBP | 0.329 | 0.007 |
| predicted_R | 0.408 | 0.013 |
| predicted_RBI | 0.444 | -0.006 |
| predicted_SLG | 0.387 | 0.009 |
| predicted_SO | 0.563 | 0.025 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.335 | 0.000 |
| predicted_AVG | 0.258 | -0.010 |
| predicted_BB | 0.289 | -0.004 |
| predicted_H | 1.116 | -0.039 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.089 | -0.003 |
| predicted_OBP | 0.304 | -0.025 |
| predicted_R | 0.384 | -0.024 |
| predicted_RBI | 0.418 | -0.026 |
| predicted_SLG | 0.353 | -0.034 |
| predicted_SO | 0.571 | 0.008 |
AB rounded to 5 (raw=4.56), rates preserved: AVG=0.245 HR/AB=0.020
| 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=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 | 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 | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.145 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.665 |
| predicted_AVG | 0.248 | -0.010 |
| predicted_BB | 0.000 | -0.289 |
| predicted_H | 1.000 | -0.116 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.302 | -0.002 |
| predicted_R | 0.000 | -0.384 |
| predicted_RBI | 0.000 | -0.418 |
| predicted_SLG | 0.342 | -0.011 |
| predicted_SO | 1.000 | 0.429 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 7.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 4.000 | 0.3043 | 0.3043 | 0.3043 | 0.3044 | 0.0000 | 0.0870 | 0.0000 | 0.1739 |
| last_10 | 0.20 | 10 | - | 40.000 | 15.000 | 2.000 | 0.000 | 2.000 | 6.000 | 5.000 | 2.000 | 5.000 | 0.3750 | 0.4091 | 0.5750 | 0.3750 | 0.0500 | 0.1500 | 0.0500 | 0.1250 |
| season | 0.60 | 119 | - | 463.000 | 124.000 | 18.000 | 0.000 | 10.000 | 46.000 | 47.000 | 39.000 | 64.000 | 0.2678 | 0.3301 | 0.3715 | 0.2678 | 0.0216 | 0.0993 | 0.0842 | 0.1382 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0400 |
| predicted_AVG | 0.2938 |
| predicted_BB | 0.2470 |
| predicted_H | 1.1870 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.3388 |
| predicted_R | 0.4240 |
| predicted_RBI | 0.4370 |
| predicted_SLG | 0.3993 |
| predicted_SO | 0.5950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.1380 | 0.1454 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5600 | 4.0400 | 4.3345 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2938 | 0.2673 | model_form_blend |
| predicted_BB | 0.3280 | 0.2470 | 0.2929 | model_form_blend |
| predicted_H | 1.1300 | 1.1870 | 1.1547 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.0900 | 0.0950 | 0.0922 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3388 | 0.3293 | model_form_blend |
| predicted_R | 0.3950 | 0.4240 | 0.4076 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4370 | 0.4444 | model_form_blend |
| predicted_SLG | 0.3780 | 0.3993 | 0.3872 | model_form_blend |
| predicted_SO | 0.5380 | 0.5950 | 0.5627 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 506 |
| Season rows before report date | 506 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 647304 |
| playerID | 647304 |
| playerName | Josh Naylor |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 12.5 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.312 |
| sl_xwoba | 0.322 |
| sl_xba | 0.276 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 37.2 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 17.8 |
| sl_swing_percent | 51.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.333 | 0.000 | 1.000 | Hitting_2B | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_3B | 0.167 | 0.000 | 0.000 | Hitting_3B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_AB | 3.333 | 2.000 | 3.000 | Hitting_AB | 3.455 | 3.000 | -1.455 | -1.000 |
| predicted_AVG | 0.300 | 0.000 | 0.333 | Hitting_AVG | 0.289 | 0.333 | -0.289 | -0.333 |
| predicted_BB | 0.500 | 2.000 | 1.000 | Hitting_BB | 0.591 | 0.000 | 1.409 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_HR | 0.000 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.391 | 0.500 | 0.500 | Hitting_OBP | 0.372 | 0.333 | 0.128 | 0.167 |
| predicted_R | 0.500 | 0.000 | 1.000 | Hitting_R | 0.455 | 1.000 | -0.455 | -1.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.682 | 0.000 | -0.682 | 0.000 |
| predicted_SLG | 0.500 | 0.000 | 0.667 | Hitting_SLG | 0.526 | 0.333 | -0.526 | -0.333 |
| predicted_SO | 1.667 | 1.000 | 1.000 | Hitting_SO | 1.773 | 2.000 | -0.773 | -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.5000 -> 2.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_AB: 3.3330 -> 2.0000 (deboost -1.3330, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 2 | 3 | predicted_AB: 3.3330 -> 3.3937 (boost 0.0607, better) | predicted_SO: 1.6670 -> 1.5405 (deboost -0.1265, 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.4853 -> 0.4744 (deboost -0.0109, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_SO: 1.5624 -> 1.0000 (deboost -0.5624, better) | AB rounded to 3 (raw=3.39), rates preserved: AVG=0.283 HR/AB=0.006 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4824 -> 0.0000 (deboost -0.4824, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 3 | 3 | 0 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "801126",
"player_name": "Brock Rodden",
"position": "SS",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.333,
"predicted_3B": 0.167,
"predicted_AB": 3.333,
"predicted_AVG": 0.3,
"predicted_BB": 0.5,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.391,
"predicted_R": 0.5,
"predicted_RBI": 0.5,
"predicted_SLG": 0.5,
"predicted_SO": 1.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.2951,
"predicted_3B": 0.1486,
"predicted_AB": 3.3937,
"predicted_AVG": 0.293,
"predicted_BB": 0.4779,
"predicted_H": 0.9934,
"predicted_HBP": 0.017,
"predicted_HR": 0.0198,
"predicted_OBP": 0.3802,
"predicted_R": 0.5124,
"predicted_RBI": 0.4629,
"predicted_SLG": 0.4853,
"predicted_SO": 1.5405
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.333,
"after": 0.2951,
"delta": -0.0379,
"percent_delta": -0.1138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.167,
"after": 0.1486,
"delta": -0.0184,
"percent_delta": -0.1102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.3937,
"delta": 0.0607,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.293,
"delta": -0.007,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4779,
"delta": -0.0221,
"percent_delta": -0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9934,
"delta": -0.0066,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0198,
"delta": 0.0198,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.391,
"after": 0.3802,
"delta": -0.0108,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5124,
"delta": 0.0124,
"percent_delta": 0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4629,
"delta": -0.0371,
"percent_delta": -0.0742,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4853,
"delta": -0.0147,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.667,
"after": 1.5405,
"delta": -0.1265,
"percent_delta": -0.0759,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.333,
"after": 3.3937,
"delta": 0.0607,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.667,
"after": 1.5405,
"delta": -0.1265,
"percent_delta": -0.0759,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.2951,
"predicted_3B": 0.1486,
"predicted_AB": 3.3937,
"predicted_AVG": 0.2829,
"predicted_BB": 0.4711,
"predicted_H": 0.9601,
"predicted_HBP": 0.017,
"predicted_HR": 0.0191,
"predicted_OBP": 0.3703,
"predicted_R": 0.4824,
"predicted_RBI": 0.4358,
"predicted_SLG": 0.4744,
"predicted_SO": 1.5624
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2951,
"after": 0.2951,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1486,
"after": 0.1486,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3937,
"after": 3.3937,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.293,
"after": 0.2829,
"delta": -0.0101,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4779,
"after": 0.4711,
"delta": -0.0068,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9934,
"after": 0.9601,
"delta": -0.0333,
"percent_delta": -0.0335,
"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.0198,
"after": 0.0191,
"delta": -0.0007,
"percent_delta": -0.0354,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3802,
"after": 0.3703,
"delta": -0.0099,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5124,
"after": 0.4824,
"delta": -0.03,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4629,
"after": 0.4358,
"delta": -0.0271,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4853,
"after": 0.4744,
"delta": -0.0109,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5405,
"after": 1.5624,
"delta": 0.0219,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4853,
"after": 0.4744,
"delta": -0.0109,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.39), rates preserved: AVG=0.283 HR/AB=0.006",
"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.2951,
"after": 0.0,
"delta": -0.2951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1486,
"after": 0.0,
"delta": -0.1486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3937,
"after": 3.0,
"delta": -0.3937,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4711,
"after": 0.0,
"delta": -0.4711,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9601,
"after": 1.0,
"delta": 0.0399,
"percent_delta": 0.0416,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0191,
"after": 0.0,
"delta": -0.0191,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4358,
"after": 0.0,
"delta": -0.4358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5624,
"after": 1.0,
"delta": -0.5624,
"percent_delta": -0.36,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5624,
"after": 1.0,
"delta": -0.5624,
"percent_delta": -0.36,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4824,
"after": 0.0,
"delta": -0.4824,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4824,
"after": 0.0,
"delta": -0.4824,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"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": 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.283,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.375,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.474,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2829,
"after": 0.283,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3703,
"after": 0.375,
"delta": 0.0047,
"percent_delta": 0.0127,
"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_SLG",
"before": 0.4744,
"after": 0.474,
"delta": -0.0004,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2829,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3703,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4744,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2829,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3703,
"delta": -0.0047,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.4744,
"delta": 0.0004,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 2.0,
"delta": -1.333,
"percent_delta": -0.3999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2829,
"delta": -0.0171,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.391,
"after": 0.3703,
"delta": -0.0207,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4744,
"delta": -0.0256,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.667,
"after": 1.0,
"delta": -0.667,
"percent_delta": -0.4001,
"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.5,
"after": 2.0,
"delta": 1.5,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.333,
"after": 2.0,
"delta": -1.333,
"percent_delta": -0.3999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.333 | - |
| predicted_3B | 0.167 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.391 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.500 | - |
| predicted_SO | 1.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.295 | -0.038 |
| predicted_3B | 0.149 | -0.018 |
| predicted_AB | 3.394 | 0.061 |
| predicted_AVG | 0.293 | -0.007 |
| predicted_BB | 0.478 | -0.022 |
| predicted_H | 0.993 | -0.007 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.020 | 0.020 |
| predicted_OBP | 0.380 | -0.011 |
| predicted_R | 0.512 | 0.012 |
| predicted_RBI | 0.463 | -0.037 |
| predicted_SLG | 0.485 | -0.015 |
| predicted_SO | 1.540 | -0.127 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.295 | 0.000 |
| predicted_3B | 0.149 | 0.000 |
| predicted_AB | 3.394 | 0.000 |
| predicted_AVG | 0.283 | -0.010 |
| predicted_BB | 0.471 | -0.007 |
| predicted_H | 0.960 | -0.033 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.019 | -0.001 |
| predicted_OBP | 0.370 | -0.010 |
| predicted_R | 0.482 | -0.030 |
| predicted_RBI | 0.436 | -0.027 |
| predicted_SLG | 0.474 | -0.011 |
| predicted_SO | 1.562 | 0.022 |
AB rounded to 3 (raw=3.39), rates preserved: AVG=0.283 HR/AB=0.006
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.295 |
| predicted_3B | 0.000 | -0.149 |
| predicted_AB | 3.000 | -0.394 |
| predicted_AVG | 0.283 | 0.000 |
| predicted_BB | 0.000 | -0.471 |
| predicted_H | 1.000 | 0.040 |
| predicted_HR | 0.000 | -0.019 |
| predicted_OBP | 0.375 | 0.005 |
| predicted_R | 0.000 | -0.482 |
| predicted_RBI | 0.000 | -0.436 |
| predicted_SLG | 0.474 | -0.000 |
| predicted_SO | 1.000 | -0.562 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -1.000 |
| BB | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 1.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 8.000 | 0.3125 | 0.4211 | 0.5000 | 0.3125 | 0.0000 | 0.0625 | 0.1875 | 0.5000 |
| last_10 | 0.20 | 6 | - | 20.000 | 6.000 | 2.000 | 1.000 | 0.000 | 3.000 | 3.000 | 3.000 | 10.000 | 0.3000 | 0.3750 | 0.5000 | 0.3000 | 0.0000 | 0.1500 | 0.1500 | 0.5000 |
| season | 0.60 | 6 | - | 20.000 | 6.000 | 2.000 | 1.000 | 0.000 | 3.000 | 3.000 | 3.000 | 10.000 | 0.3000 | 0.3750 | 0.5000 | 0.3000 | 0.0000 | 0.1500 | 0.1500 | 0.5000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.1030 |
| predicted_AB | 3.5440 |
| predicted_AVG | 0.2757 |
| predicted_BB | 0.4230 |
| predicted_H | 0.9770 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0690 |
| predicted_OBP | 0.3534 |
| predicted_R | 0.5430 |
| predicted_RBI | 0.3710 |
| predicted_SLG | 0.4488 |
| predicted_SO | 1.2270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3330 | 0.2010 | 0.2951 | model_form_blend |
| predicted_3B | 0.1670 | 0.1030 | 0.1486 | model_form_blend |
| predicted_AB | 3.3330 | 3.5440 | 3.3937 | model_form_blend |
| predicted_AVG | 0.3000 | 0.2757 | 0.2930 | model_form_blend |
| predicted_BB | 0.5000 | 0.4230 | 0.4779 | model_form_blend |
| predicted_H | 1.0000 | 0.9770 | 0.9934 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0000 | 0.0690 | 0.0198 | model_form_blend |
| predicted_OBP | 0.3910 | 0.3534 | 0.3802 | model_form_blend |
| predicted_R | 0.5000 | 0.5430 | 0.5124 | model_form_blend |
| predicted_RBI | 0.5000 | 0.3710 | 0.4629 | model_form_blend |
| predicted_SLG | 0.5000 | 0.4488 | 0.4853 | model_form_blend |
| predicted_SO | 1.6670 | 1.2270 | 1.5405 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 22 |
| Season rows before report date | 22 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 801126 |
| playerID | 801126 |
| playerName | Brock Rodden |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 41.7 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.37 |
| sl_xwoba | 0.238 |
| sl_xba | 0.144 |
| sl_xslg | 0.233 |
| sl_sweet_spot_percent | 45.5 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 54.5 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 15.9 |
| sl_whiff_percent | 40.5 |
| sl_swing_percent | 43.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.217 | 1.000 | 0.000 | Hitting_2B | 0.233 | 0.000 | 0.767 | 1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 4.150 | 4.000 | 4.000 | Hitting_AB | 3.771 | 3.000 | 0.229 | 1.000 |
| predicted_AVG | 0.208 | 0.500 | 0.250 | Hitting_AVG | 0.283 | 0.000 | 0.217 | 0.500 |
| predicted_BB | 0.400 | 0.000 | 1.000 | Hitting_BB | 0.412 | 1.000 | -0.412 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.860 | 2.000 | 1.000 | Hitting_H | 1.069 | 0.000 | 0.931 | 2.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | 0.849 | 1.000 |
| predicted_OBP | 0.323 | 0.500 | 0.400 | Hitting_OBP | 0.376 | 0.400 | 0.124 | 0.100 |
| predicted_R | 0.667 | 1.000 | 1.000 | Hitting_R | 0.700 | 0.000 | 0.300 | 1.000 |
| predicted_RBI | 0.380 | 3.000 | 0.000 | Hitting_RBI | 0.476 | 0.000 | 2.524 | 3.000 |
| predicted_SLG | 0.384 | 1.500 | 0.250 | Hitting_SLG | 0.471 | 0.000 | 1.029 | 1.500 |
| predicted_SO | 0.917 | 1.000 | 1.000 | Hitting_SO | 0.896 | 2.000 | 0.104 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.3800 -> 3.0000 (boost 2.6200, better) |
| Biggest Deboost | predicted_BB: 0.4000 -> 0.0000 (deboost -0.4000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3840 -> 0.4040 (boost 0.0200, better) | predicted_AB: 4.1500 -> 4.0246 (deboost -0.1254, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3257 -> 0.2767 (deboost -0.0490, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.8471 -> 1.0000 (boost 0.1529, better) | predicted_BB: 0.3687 -> 0.0000 (deboost -0.3687, worse) | AB rounded to 4 (raw=4.15), rates preserved: AVG=0.204 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6222 -> 1.0000 (boost 0.3778, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3650 -> 0.3766 (boost 0.0116, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.217,
"predicted_3B": 0.008,
"predicted_AB": 4.15,
"predicted_AVG": 0.208,
"predicted_BB": 0.4,
"predicted_H": 0.86,
"predicted_HR": 0.13,
"predicted_OBP": 0.323,
"predicted_R": 0.667,
"predicted_RBI": 0.38,
"predicted_SLG": 0.384,
"predicted_SO": 0.917
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2135,
"predicted_3B": 0.0071,
"predicted_AB": 4.0246,
"predicted_AVG": 0.2187,
"predicted_BB": 0.374,
"predicted_H": 0.8765,
"predicted_HBP": 0.224,
"predicted_HR": 0.1521,
"predicted_OBP": 0.3257,
"predicted_R": 0.6609,
"predicted_RBI": 0.3865,
"predicted_SLG": 0.404,
"predicted_SO": 0.96
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.2135,
"delta": -0.0035,
"percent_delta": -0.0161,
"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": 4.15,
"after": 4.0246,
"delta": -0.1254,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.2187,
"delta": 0.0107,
"percent_delta": 0.0514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.374,
"delta": -0.026,
"percent_delta": -0.065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.8765,
"delta": 0.0165,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1521,
"delta": 0.0221,
"percent_delta": 0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3257,
"delta": 0.0027,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6609,
"delta": -0.0061,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3865,
"delta": 0.0065,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.404,
"delta": 0.02,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 0.96,
"delta": 0.043,
"percent_delta": 0.0469,
"direction": "no_change",
"projection_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.384,
"after": 0.404,
"delta": 0.02,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0246,
"delta": -0.1254,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2135,
"predicted_3B": 0.0071,
"predicted_AB": 4.0246,
"predicted_AVG": 0.2105,
"predicted_BB": 0.3687,
"predicted_H": 0.8471,
"predicted_HBP": 0.224,
"predicted_HR": 0.147,
"predicted_OBP": 0.2767,
"predicted_R": 0.6222,
"predicted_RBI": 0.3639,
"predicted_SLG": 0.3766,
"predicted_SO": 0.9736
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2135,
"after": 0.2135,
"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": 4.0246,
"after": 4.0246,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2187,
"after": 0.2105,
"delta": -0.0082,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.374,
"after": 0.3687,
"delta": -0.0053,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8765,
"after": 0.8471,
"delta": -0.0294,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.224,
"after": 0.224,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1521,
"after": 0.147,
"delta": -0.0051,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3257,
"after": 0.2767,
"delta": -0.049,
"percent_delta": -0.1504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6609,
"after": 0.6222,
"delta": -0.0387,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3865,
"after": 0.3639,
"delta": -0.0226,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.3766,
"delta": -0.0274,
"percent_delta": -0.0678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.96,
"after": 0.9736,
"delta": 0.0136,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3257,
"after": 0.2767,
"delta": -0.049,
"percent_delta": -0.1504,
"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.204 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2135,
"after": 0.0,
"delta": -0.2135,
"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": 4.0246,
"after": 4.0,
"delta": -0.0246,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3687,
"after": 0.0,
"delta": -0.3687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8471,
"after": 1.0,
"delta": 0.1529,
"percent_delta": 0.1805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.224,
"after": 0.0,
"delta": -0.224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3639,
"after": 0.0,
"delta": -0.3639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9736,
"after": 1.0,
"delta": 0.0264,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8471,
"after": 1.0,
"delta": 0.1529,
"percent_delta": 0.1805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3687,
"after": 0.0,
"delta": -0.3687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6222,
"after": 1.0,
"delta": 0.3778,
"percent_delta": 0.6072,
"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.6222,
"after": 1.0,
"delta": 0.3778,
"percent_delta": 0.6072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.204,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.275,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.365,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2105,
"after": 0.204,
"delta": -0.0065,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2767,
"after": 0.275,
"delta": -0.0017,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3766,
"after": 0.365,
"delta": -0.0116,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2105,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2767,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3766,
"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.204,
"after": 0.2105,
"delta": 0.0065,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2767,
"delta": 0.0017,
"percent_delta": 0.0064,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3766,
"delta": 0.0116,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.365,
"after": 0.3766,
"delta": 0.0116,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 1.0,
"delta": 0.783,
"percent_delta": 3.6083,
"direction": "boost",
"projection_effect": "better",
"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": 4.15,
"after": 4.0,
"delta": -0.15,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.2105,
"delta": 0.0025,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 2.0,
"delta": 1.14,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.2767,
"delta": -0.0463,
"percent_delta": -0.1433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 3.0,
"delta": 2.62,
"percent_delta": 6.8947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3766,
"delta": -0.0074,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.38,
"after": 3.0,
"delta": 2.62,
"percent_delta": 6.8947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.208 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.384 | - |
| predicted_SO | 0.917 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | -0.004 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.025 | -0.125 |
| predicted_AVG | 0.219 | 0.011 |
| predicted_BB | 0.374 | -0.026 |
| predicted_H | 0.876 | 0.016 |
| predicted_HBP | 0.224 | - |
| predicted_HR | 0.152 | 0.022 |
| predicted_OBP | 0.326 | 0.003 |
| predicted_R | 0.661 | -0.006 |
| predicted_RBI | 0.387 | 0.007 |
| predicted_SLG | 0.404 | 0.020 |
| predicted_SO | 0.960 | 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.213 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.025 | 0.000 |
| predicted_AVG | 0.210 | -0.008 |
| predicted_BB | 0.369 | -0.005 |
| predicted_H | 0.847 | -0.029 |
| predicted_HBP | 0.224 | 0.000 |
| predicted_HR | 0.147 | -0.005 |
| predicted_OBP | 0.277 | -0.049 |
| predicted_R | 0.622 | -0.039 |
| predicted_RBI | 0.364 | -0.023 |
| predicted_SLG | 0.377 | -0.027 |
| predicted_SO | 0.974 | 0.014 |
AB rounded to 4 (raw=4.15), rates preserved: AVG=0.204 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.213 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | -0.025 |
| predicted_AVG | 0.204 | -0.007 |
| predicted_BB | 0.000 | -0.369 |
| predicted_H | 1.000 | 0.153 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.275 | -0.002 |
| predicted_R | 1.000 | 0.378 |
| predicted_RBI | 0.000 | -0.364 |
| predicted_SLG | 0.365 | -0.012 |
| predicted_SO | 1.000 | 0.026 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 1.000 | 6.000 | 0.1429 | 0.2500 | 0.3333 | 0.1429 | 0.0476 | 0.0476 | 0.0476 | 0.2857 |
| last_10 | 0.20 | 10 | - | 40.000 | 8.000 | 2.000 | 0.000 | 3.000 | 4.000 | 7.000 | 3.000 | 12.000 | 0.2000 | 0.3043 | 0.4750 | 0.2000 | 0.0750 | 0.1000 | 0.0750 | 0.3000 |
| season | 0.60 | 120 | - | 445.000 | 121.000 | 26.000 | 1.000 | 17.000 | 53.000 | 80.000 | 48.000 | 110.000 | 0.2719 | 0.3663 | 0.4494 | 0.2719 | 0.0382 | 0.1191 | 0.1079 | 0.2472 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2090 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.8610 |
| predicted_AVG | 0.2326 |
| predicted_BB | 0.3400 |
| predicted_H | 0.8980 |
| predicted_HBP | 0.2240 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.3293 |
| predicted_R | 0.6530 |
| predicted_RBI | 0.3950 |
| predicted_SLG | 0.4300 |
| predicted_SO | 1.0160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.2090 | 0.2135 | model_form_blend |
| predicted_3B | 0.0080 | 0.0060 | 0.0071 | model_form_blend |
| predicted_AB | 4.1500 | 3.8610 | 4.0246 | model_form_blend |
| predicted_AVG | 0.2080 | 0.2326 | 0.2187 | model_form_blend |
| predicted_BB | 0.4000 | 0.3400 | 0.3740 | model_form_blend |
| predicted_H | 0.8600 | 0.8980 | 0.8765 | model_form_blend |
| predicted_HBP | - | 0.2240 | 0.2240 | form_only |
| predicted_HR | 0.1300 | 0.1810 | 0.1521 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3293 | 0.3257 | model_form_blend |
| predicted_R | 0.6670 | 0.6530 | 0.6609 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3950 | 0.3865 | model_form_blend |
| predicted_SLG | 0.3840 | 0.4300 | 0.4040 | model_form_blend |
| predicted_SO | 0.9170 | 1.0160 | 0.9600 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 510 |
| Season rows before report date | 510 |
| 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 | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 668227 |
| playerID | 668227 |
| playerName | Randy Arozarena |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.36 |
| sl_xwoba | 0.346 |
| sl_xba | 0.262 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 8.8 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.117 | 0.000 | 0.000 | Hitting_2B | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 3.740 | 4.000 | 4.000 | Hitting_AB | 3.760 | 3.000 | 0.240 | 1.000 |
| predicted_AVG | 0.236 | 0.000 | 0.250 | Hitting_AVG | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_BB | 0.258 | 0.000 | 0.000 | Hitting_BB | 0.260 | 1.000 | -0.260 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.880 | 0.000 | 1.000 | Hitting_H | 0.969 | 0.000 | -0.969 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.288 | 0.000 | 0.250 | Hitting_OBP | 0.316 | 0.250 | -0.316 | -0.250 |
| predicted_R | 0.469 | 0.000 | 1.000 | Hitting_R | 0.502 | 1.000 | -0.502 | -1.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_SLG | 0.359 | 0.000 | 0.250 | Hitting_SLG | 0.397 | 0.000 | -0.397 | 0.000 |
| predicted_SO | 0.680 | 1.000 | 1.000 | Hitting_SO | 0.682 | 1.000 | 0.318 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6800 -> 1.0000 (boost 0.3200, worse) |
| Biggest Deboost | predicted_H: 0.8800 -> 0.0000 (deboost -0.8800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 1 | 2 | predicted_SO: 0.6800 -> 0.7433 (boost 0.0633, worse) | predicted_AVG: 0.2360 -> 0.2280 (deboost -0.0080, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3555 -> 0.3667 (boost 0.0112, better) | predicted_OBP: 0.2879 -> 0.2710 (deboost -0.0169, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.4731 -> 1.0000 (boost 0.5269, better) | predicted_BB: 0.2611 -> 0.0000 (deboost -0.2611, worse) | AB rounded to 4 (raw=3.74), rates preserved: AVG=0.219 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4922 -> 0.0000 (deboost -0.4922, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2710 -> 0.2760 (boost 0.0050, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702284",
"player_name": "Cole Young",
"position": "2B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.117,
"predicted_3B": 0.023,
"predicted_AB": 3.74,
"predicted_AVG": 0.236,
"predicted_BB": 0.258,
"predicted_H": 0.88,
"predicted_HR": 0.15,
"predicted_OBP": 0.288,
"predicted_R": 0.469,
"predicted_RBI": 0.49,
"predicted_SLG": 0.359,
"predicted_SO": 0.68
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0191,
"predicted_AB": 3.7309,
"predicted_AVG": 0.228,
"predicted_BB": 0.2649,
"predicted_H": 0.8492,
"predicted_HBP": 0.098,
"predicted_HR": 0.1413,
"predicted_OBP": 0.2879,
"predicted_R": 0.5228,
"predicted_RBI": 0.5026,
"predicted_SLG": 0.3555,
"predicted_SO": 0.7433
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 0.0996,
"delta": -0.0174,
"percent_delta": -0.1487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0191,
"delta": -0.0039,
"percent_delta": -0.1696,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.74,
"after": 3.7309,
"delta": -0.0091,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.228,
"delta": -0.008,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.2649,
"delta": 0.0069,
"percent_delta": 0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8492,
"delta": -0.0308,
"percent_delta": -0.035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1413,
"delta": -0.0087,
"percent_delta": -0.058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2879,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.5228,
"delta": 0.0538,
"percent_delta": 0.1147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.5026,
"delta": 0.0126,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.3555,
"delta": -0.0035,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.68,
"after": 0.7433,
"delta": 0.0633,
"percent_delta": 0.0931,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.68,
"after": 0.7433,
"delta": 0.0633,
"percent_delta": 0.0931,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.228,
"delta": -0.008,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 128
}
},
{
"index": 3,
"step": "team_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.0191,
"predicted_AB": 3.7309,
"predicted_AVG": 0.22,
"predicted_BB": 0.2611,
"predicted_H": 0.8208,
"predicted_HBP": 0.098,
"predicted_HR": 0.1365,
"predicted_OBP": 0.271,
"predicted_R": 0.4922,
"predicted_RBI": 0.4731,
"predicted_SLG": 0.3667,
"predicted_SO": 0.7539
},
"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.0191,
"after": 0.0191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7309,
"after": 3.7309,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.22,
"delta": -0.008,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2649,
"after": 0.2611,
"delta": -0.0038,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8492,
"after": 0.8208,
"delta": -0.0284,
"percent_delta": -0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.098,
"after": 0.098,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1413,
"after": 0.1365,
"delta": -0.0048,
"percent_delta": -0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2879,
"after": 0.271,
"delta": -0.0169,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5228,
"after": 0.4922,
"delta": -0.0306,
"percent_delta": -0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5026,
"after": 0.4731,
"delta": -0.0295,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3555,
"after": 0.3667,
"delta": 0.0112,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7433,
"after": 0.7539,
"delta": 0.0106,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_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.3555,
"after": 0.3667,
"delta": 0.0112,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2879,
"after": 0.271,
"delta": -0.0169,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.74), rates preserved: AVG=0.219 HR/AB=0.037",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0996,
"after": 0.0,
"delta": -0.0996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0191,
"after": 0.0,
"delta": -0.0191,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7309,
"after": 4.0,
"delta": 0.2691,
"percent_delta": 0.0721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2611,
"after": 0.0,
"delta": -0.2611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8208,
"after": 1.0,
"delta": 0.1792,
"percent_delta": 0.2183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1365,
"after": 0.0,
"delta": -0.1365,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4731,
"after": 1.0,
"delta": 0.5269,
"percent_delta": 1.1137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7539,
"after": 1.0,
"delta": 0.2461,
"percent_delta": 0.3264,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4731,
"after": 1.0,
"delta": 0.5269,
"percent_delta": 1.1137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2611,
"after": 0.0,
"delta": -0.2611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4922,
"after": 0.0,
"delta": -0.4922,
"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.4922,
"after": 0.0,
"delta": -0.4922,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.219,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.276,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.366,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.219,
"delta": -0.001,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.276,
"delta": 0.005,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3667,
"after": 0.366,
"delta": -0.0007,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.276,
"delta": 0.005,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 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.22,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.271,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3667,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.22,
"delta": 0.001,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.271,
"delta": -0.005,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.366,
"after": 0.3667,
"delta": 0.0007,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 0.0,
"delta": -0.117,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.74,
"after": 4.0,
"delta": 0.26,
"percent_delta": 0.0695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.22,
"delta": -0.016,
"percent_delta": -0.0678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.0,
"delta": -0.258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.271,
"delta": -0.017,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.3667,
"delta": 0.0077,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.117 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.740 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.258 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.359 | - |
| predicted_SO | 0.680 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.017 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.731 | -0.009 |
| predicted_AVG | 0.228 | -0.008 |
| predicted_BB | 0.265 | 0.007 |
| predicted_H | 0.849 | -0.031 |
| predicted_HBP | 0.098 | - |
| predicted_HR | 0.141 | -0.009 |
| predicted_OBP | 0.288 | -0.000 |
| predicted_R | 0.523 | 0.054 |
| predicted_RBI | 0.503 | 0.013 |
| predicted_SLG | 0.355 | -0.004 |
| predicted_SO | 0.743 | 0.063 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.100 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.731 | 0.000 |
| predicted_AVG | 0.220 | -0.008 |
| predicted_BB | 0.261 | -0.004 |
| predicted_H | 0.821 | -0.028 |
| predicted_HBP | 0.098 | 0.000 |
| predicted_HR | 0.137 | -0.005 |
| predicted_OBP | 0.271 | -0.017 |
| predicted_R | 0.492 | -0.031 |
| predicted_RBI | 0.473 | -0.030 |
| predicted_SLG | 0.367 | 0.011 |
| predicted_SO | 0.754 | 0.011 |
AB rounded to 4 (raw=3.74), rates preserved: AVG=0.219 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.019 |
| predicted_AB | 4.000 | 0.269 |
| predicted_AVG | 0.219 | -0.001 |
| predicted_BB | 0.000 | -0.261 |
| predicted_H | 1.000 | 0.179 |
| predicted_HR | 0.000 | -0.137 |
| predicted_OBP | 0.276 | 0.005 |
| predicted_R | 0.000 | -0.492 |
| predicted_RBI | 1.000 | 0.527 |
| predicted_SLG | 0.366 | -0.001 |
| predicted_SO | 1.000 | 0.246 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 2.000 | 6.000 | 0.1579 | 0.2727 | 0.3158 | 0.1579 | 0.0526 | 0.2105 | 0.1053 | 0.3158 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 0.000 | 0.000 | 1.000 | 5.000 | 6.000 | 2.000 | 9.000 | 0.1579 | 0.2195 | 0.2368 | 0.1579 | 0.0263 | 0.1316 | 0.0526 | 0.2368 |
| season | 0.60 | 128 | - | 468.000 | 119.000 | 15.000 | 3.000 | 15.000 | 56.000 | 60.000 | 33.000 | 87.000 | 0.2543 | 0.3138 | 0.3953 | 0.2543 | 0.0321 | 0.1197 | 0.0705 | 0.1859 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0770 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7190 |
| predicted_AVG | 0.2175 |
| predicted_BB | 0.2740 |
| predicted_H | 0.8090 |
| predicted_HBP | 0.0980 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.2877 |
| predicted_R | 0.5930 |
| predicted_RBI | 0.5190 |
| predicted_SLG | 0.3510 |
| predicted_SO | 0.8260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1170 | 0.0770 | 0.0996 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 3.7400 | 3.7190 | 3.7309 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2175 | 0.2280 | model_form_blend |
| predicted_BB | 0.2580 | 0.2740 | 0.2649 | model_form_blend |
| predicted_H | 0.8800 | 0.8090 | 0.8492 | model_form_blend |
| predicted_HBP | - | 0.0980 | 0.0980 | form_only |
| predicted_HR | 0.1500 | 0.1300 | 0.1413 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2877 | 0.2879 | model_form_blend |
| predicted_R | 0.4690 | 0.5930 | 0.5228 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5190 | 0.5026 | model_form_blend |
| predicted_SLG | 0.3590 | 0.3510 | 0.3555 | model_form_blend |
| predicted_SO | 0.6800 | 0.8260 | 0.7433 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 512 |
| Season rows before report date | 512 |
| Report year | 2026 |
| Profile rows used | 128 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 702284 |
| playerID | 702284 |
| playerName | Cole Young |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.313 |
| sl_xwoba | 0.321 |
| sl_xba | 0.269 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 38.4 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 18.9 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.086 | 0.000 | 0.000 | Hitting_2B | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.591 | 3.000 | 4.000 | Hitting_AB | 3.677 | 0.000 | -0.677 | 3.000 |
| predicted_AVG | 0.136 | 0.000 | 0.000 | Hitting_AVG | 0.160 | - | -0.160 | - |
| predicted_BB | 0.548 | 1.000 | 1.000 | Hitting_BB | 0.555 | 1.000 | 0.445 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.240 | 0.000 | 0.000 | Hitting_H | 0.588 | 0.000 | -0.588 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_OBP | 0.276 | 0.250 | 0.200 | Hitting_OBP | 0.273 | 1.000 | -0.023 | -0.750 |
| predicted_R | 0.290 | 0.000 | 0.000 | Hitting_R | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_SLG | 0.275 | 0.000 | 0.000 | Hitting_SLG | 0.305 | - | -0.305 | - |
| predicted_SO | 1.344 | 0.000 | 1.000 | Hitting_SO | 1.364 | 0.000 | -1.364 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.5480 -> 1.0000 (boost 0.4520, better) |
| Biggest Deboost | predicted_SO: 1.3440 -> 0.0000 (deboost -1.3440, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_H: 0.2400 -> 0.3327 (boost 0.0927, better) | predicted_AB: 3.5910 -> 3.4876 (deboost -0.1034, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2791 -> 0.2224 (deboost -0.0567, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.4876 -> 4.0000 (boost 0.5124, better) | predicted_H: 0.3216 -> 0.0000 (deboost -0.3216, worse) | AB rounded to 4 (raw=3.59), rates preserved: AVG=0.090 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2556 -> 0.0000 (deboost -0.2556, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663728",
"player_name": "Cal Raleigh",
"position": "C",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.086,
"predicted_3B": 0.0,
"predicted_AB": 3.591,
"predicted_AVG": 0.136,
"predicted_BB": 0.548,
"predicted_H": 0.24,
"predicted_HR": 0.12,
"predicted_OBP": 0.276,
"predicted_R": 0.29,
"predicted_RBI": 0.24,
"predicted_SLG": 0.275,
"predicted_SO": 1.344
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0731,
"predicted_3B": 0.0004,
"predicted_AB": 3.4876,
"predicted_AVG": 0.1361,
"predicted_BB": 0.6368,
"predicted_H": 0.3327,
"predicted_HBP": 0.019,
"predicted_HR": 0.1312,
"predicted_OBP": 0.2842,
"predicted_R": 0.2715,
"predicted_RBI": 0.2833,
"predicted_SLG": 0.2791,
"predicted_SO": 1.2831
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.086,
"after": 0.0731,
"delta": -0.0129,
"percent_delta": -0.15,
"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.591,
"after": 3.4876,
"delta": -0.1034,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.136,
"after": 0.1361,
"delta": 0.0001,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.6368,
"delta": 0.0888,
"percent_delta": 0.162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.3327,
"delta": 0.0927,
"percent_delta": 0.3863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1312,
"delta": 0.0112,
"percent_delta": 0.0933,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2842,
"delta": 0.0082,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.29,
"after": 0.2715,
"delta": -0.0185,
"percent_delta": -0.0638,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2833,
"delta": 0.0433,
"percent_delta": 0.1804,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.275,
"after": 0.2791,
"delta": 0.0041,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.344,
"after": 1.2831,
"delta": -0.0609,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.24,
"after": 0.3327,
"delta": 0.0927,
"percent_delta": 0.3863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.591,
"after": 3.4876,
"delta": -0.1034,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 93
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0731,
"predicted_3B": 0.0004,
"predicted_AB": 3.4876,
"predicted_AVG": 0.0922,
"predicted_BB": 0.6278,
"predicted_H": 0.3216,
"predicted_HBP": 0.019,
"predicted_HR": 0.1268,
"predicted_OBP": 0.2307,
"predicted_R": 0.2556,
"predicted_RBI": 0.2667,
"predicted_SLG": 0.2224,
"predicted_SO": 1.3013
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0731,
"after": 0.0731,
"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.4876,
"after": 3.4876,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1361,
"after": 0.0922,
"delta": -0.0439,
"percent_delta": -0.3226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6368,
"after": 0.6278,
"delta": -0.009,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3327,
"after": 0.3216,
"delta": -0.0111,
"percent_delta": -0.0334,
"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.1312,
"after": 0.1268,
"delta": -0.0044,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2842,
"after": 0.2307,
"delta": -0.0535,
"percent_delta": -0.1882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2715,
"after": 0.2556,
"delta": -0.0159,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2833,
"after": 0.2667,
"delta": -0.0166,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2791,
"after": 0.2224,
"delta": -0.0567,
"percent_delta": -0.2032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2831,
"after": 1.3013,
"delta": 0.0182,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2791,
"after": 0.2224,
"delta": -0.0567,
"percent_delta": -0.2032,
"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.090 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.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.0731,
"after": 0.0,
"delta": -0.0731,
"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.4876,
"after": 4.0,
"delta": 0.5124,
"percent_delta": 0.1469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6278,
"after": 1.0,
"delta": 0.3722,
"percent_delta": 0.5929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3216,
"after": 0.0,
"delta": -0.3216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1268,
"after": 0.0,
"delta": -0.1268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2667,
"after": 0.0,
"delta": -0.2667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3013,
"after": 1.0,
"delta": -0.3013,
"percent_delta": -0.2315,
"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.4876,
"after": 4.0,
"delta": 0.5124,
"percent_delta": 0.1469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3216,
"after": 0.0,
"delta": -0.3216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2556,
"after": 0.0,
"delta": -0.2556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2556,
"after": 0.0,
"delta": -0.2556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.09,
"predicted_BB": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.231,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.224,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.0922,
"after": 0.09,
"delta": -0.0022,
"percent_delta": -0.0239,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2307,
"after": 0.231,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2224,
"after": 0.224,
"delta": 0.0016,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.0922,
"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.2307,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2224,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.09,
"after": 0.0922,
"delta": 0.0022,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.231,
"after": 0.2307,
"delta": -0.0003,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.224,
"after": 0.2224,
"delta": -0.0016,
"percent_delta": -0.007,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.591,
"after": 3.0,
"delta": -0.591,
"percent_delta": -0.1646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.136,
"after": 0.0922,
"delta": -0.0438,
"percent_delta": -0.3221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 1.0,
"delta": 0.452,
"percent_delta": 0.8248,
"direction": "boost",
"projection_effect": "better",
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2307,
"delta": -0.0453,
"percent_delta": -0.1641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.275,
"after": 0.2224,
"delta": -0.0526,
"percent_delta": -0.1913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.344,
"after": 0.0,
"delta": -1.344,
"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.548,
"after": 1.0,
"delta": 0.452,
"percent_delta": 0.8248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.344,
"after": 0.0,
"delta": -1.344,
"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.086 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.591 | - |
| predicted_AVG | 0.136 | - |
| predicted_BB | 0.548 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.276 | - |
| predicted_R | 0.290 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.275 | - |
| predicted_SO | 1.344 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.073 | -0.013 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.488 | -0.103 |
| predicted_AVG | 0.136 | 0.000 |
| predicted_BB | 0.637 | 0.089 |
| predicted_H | 0.333 | 0.093 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.131 | 0.011 |
| predicted_OBP | 0.284 | 0.008 |
| predicted_R | 0.272 | -0.018 |
| predicted_RBI | 0.283 | 0.043 |
| predicted_SLG | 0.279 | 0.004 |
| predicted_SO | 1.283 | -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.073 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.488 | 0.000 |
| predicted_AVG | 0.092 | -0.044 |
| predicted_BB | 0.628 | -0.009 |
| predicted_H | 0.322 | -0.011 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.127 | -0.004 |
| predicted_OBP | 0.231 | -0.054 |
| predicted_R | 0.256 | -0.016 |
| predicted_RBI | 0.267 | -0.017 |
| predicted_SLG | 0.222 | -0.057 |
| predicted_SO | 1.301 | 0.018 |
AB rounded to 4 (raw=3.59), rates preserved: AVG=0.090 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.073 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.512 |
| predicted_AVG | 0.090 | -0.002 |
| predicted_BB | 1.000 | 0.372 |
| predicted_H | 0.000 | -0.322 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.231 | 0.000 |
| predicted_R | 0.000 | -0.256 |
| predicted_RBI | 0.000 | -0.267 |
| predicted_SLG | 0.224 | 0.002 |
| predicted_SO | 1.000 | -0.301 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 6.000 | 5.000 | 0.0714 | 0.3500 | 0.2857 | 0.0714 | 0.0714 | 0.0714 | 0.4286 | 0.3571 |
| last_10 | 0.20 | 10 | - | 30.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 9.000 | 11.000 | 0.1000 | 0.3077 | 0.2000 | 0.1000 | 0.0333 | 0.0333 | 0.3000 | 0.3667 |
| season | 0.60 | 93 | - | 334.000 | 52.000 | 8.000 | 0.000 | 13.000 | 44.000 | 27.000 | 51.000 | 125.000 | 0.1557 | 0.2711 | 0.2964 | 0.1557 | 0.0389 | 0.1317 | 0.1527 | 0.3743 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0560 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3500 |
| predicted_AVG | 0.1363 |
| predicted_BB | 0.7550 |
| predicted_H | 0.4560 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.1460 |
| predicted_OBP | 0.2950 |
| predicted_R | 0.2470 |
| predicted_RBI | 0.3410 |
| predicted_SLG | 0.2845 |
| predicted_SO | 1.2020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0860 | 0.0560 | 0.0731 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5910 | 3.3500 | 3.4876 | model_form_blend |
| predicted_AVG | 0.1360 | 0.1363 | 0.1361 | model_form_blend |
| predicted_BB | 0.5480 | 0.7550 | 0.6368 | model_form_blend |
| predicted_H | 0.2400 | 0.4560 | 0.3327 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1200 | 0.1460 | 0.1312 | model_form_blend |
| predicted_OBP | 0.2760 | 0.2950 | 0.2842 | model_form_blend |
| predicted_R | 0.2900 | 0.2470 | 0.2715 | model_form_blend |
| predicted_RBI | 0.2400 | 0.3410 | 0.2833 | model_form_blend |
| predicted_SLG | 0.2750 | 0.2845 | 0.2791 | model_form_blend |
| predicted_SO | 1.3440 | 1.2020 | 1.2831 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 393 |
| Season rows before report date | 393 |
| Report year | 2026 |
| Profile rows used | 93 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-C |
| gameID | 20260820_SEA@MIL |
| game_type | ph |
| mlbID | 663728 |
| note | Walked for Pereda in the 8th. |
| playerID | 663728 |
| playerName | Cal Raleigh |
| pos | C |
| started | False |
| startingPosition | PH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 31.9 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.262 |
| sl_xwoba | 0.291 |
| sl_xba | 0.173 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 35.4 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 25.9 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 50.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.391 | 2.000 | 1.609 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.043 | 2.000 | 0.957 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.783 | 5.000 | -1.783 | -2.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.474 | 7.000 | -0.274 | -1.800 |
| predicted_SO | 8.000 | 8.000 | 8.000 | Pitching_SO | 5.174 | 8.000 | 2.826 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 3 |
| Better Metrics | 2 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_ER: 5.0000 -> 3.0000 (deboost -2.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 0 | 2 | 1 | 1 | - | predicted_ER: 5.0000 -> 3.0000 (deboost -2.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 0 | 1 | 1 | 0 | - | predicted_H: 5.0000 -> 3.0000 (deboost -2.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676106",
"player_name": "Emerson Hancock",
"position": "Starter",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 5.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 8.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 8.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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 5.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 8.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 3.000 | -2.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 8.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.200 | 12.000 | 35.000 | 7.000 | 25.000 | 4.000 | 3.7674 | 1.4651 | 0.4186 | 1.2209 | 0.2442 | 0.8721 | 0.1395 |
| last_10 | 0.35 | 10 | 52.100 | 24.000 | 55.000 | 15.000 | 46.000 | 6.000 | 4.1274 | 1.3376 | 0.4586 | 1.0510 | 0.2866 | 0.8790 | 0.1147 |
| season | 0.20 | 23 | 128.000 | 47.000 | 110.000 | 32.000 | 119.000 | 16.000 | 3.3047 | 1.1094 | 0.3672 | 0.8594 | 0.2500 | 0.9297 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5550 |
| predicted_ER | 2.4310 |
| predicted_ERA | 3.9276 |
| predicted_H | 5.9510 |
| predicted_HR | 0.7320 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.0010 |
| predicted_WHIP | 1.3474 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.5550 | 2.1698 | model_form_blend |
| predicted_ER | 5.0000 | 2.4310 | 3.5240 | model_form_blend |
| predicted_ERA | - | 3.9276 | 3.9276 | form_only |
| predicted_H | 5.0000 | 5.9510 | 5.5464 | model_form_blend |
| predicted_HR | 1.0000 | 0.7320 | 0.8460 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 8.0000 | 5.0010 | 6.2770 | model_form_blend |
| predicted_WHIP | - | 1.3474 | 1.3474 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.2 |
| H | 3 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 8 |
| HR | 1 |
| BF | 23 |
| Pitches | 94 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 1 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.30 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 6 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 97 |
| Pitching_R | 2 |
| Pitching_SO | 8 |
| Pitching_Strikes | 66 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260815_SEA@HOU |
| game_type | full |
| mlbID | 676106 |
| playerID | 676106 |
| playerName | Emerson Hancock |
| pos | P |
| started | True |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-15 |
| game_pk | 824157.0 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.288 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 41.1 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 51.5 |
| sv_pitch_count | 97.0 |
| sv_outs_recorded_est | 20.0 |
| sv_release_speed | 88.97938144329896 |
| sv_release_spin_rate | 2489.3505154639174 |
| sv_effective_speed | 88.32268041237113 |
| sv_launch_speed | 82.425 |
| sv_launch_angle | 23.65625 |
| sv_woba_value | 7.0 |
| sv_woba_denom | 26.0 |
| sv_delta_run_exp | -0.947 |
| sv_delta_home_win_exp | -0.157 |
| sl_avg_best_speed | 78.838729385 |
| sl_avg_hyper_speed | 94.3246693 |
| 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.367 | 0.000 | -0.367 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.449 | 0.000 | 0.551 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.776 | 0.000 | 0.224 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.898 | 1.000 | 0.102 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.490 | 1.000 | -0.490 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_run_redistribution | 2 | 2 | 0 | 0 | 2 | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "662253",
"player_name": "Andrés Muñoz",
"position": "Closer",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 1.000 | 0.000 |
| predicted_SO | 1.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 4.000 | 4.000 | 1.000 | 8.000 | 1.000 | 7.7143 | 1.0714 | 0.8571 | 0.8571 | 0.2143 | 1.7143 | 0.2143 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 9.000 | 3.000 | 18.000 | 2.000 | 5.4000 | 1.2000 | 0.6000 | 0.9000 | 0.3000 | 1.8000 | 0.2000 |
| season | 0.20 | 48 | 46.100 | 20.000 | 37.000 | 17.000 | 73.000 | 6.000 | 3.8849 | 1.1655 | 0.4316 | 0.7986 | 0.3669 | 1.5755 | 0.1295 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3070 |
| predicted_ER | 0.6190 |
| predicted_ERA | 5.5688 |
| predicted_H | 0.9000 |
| predicted_HR | 0.1770 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.4490 |
| predicted_WHIP | 1.2064 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3070 | 0.1542 | model_form_blend |
| predicted_ER | 0.0000 | 0.6190 | 0.3108 | model_form_blend |
| predicted_ERA | - | 5.5688 | 5.5688 | form_only |
| predicted_H | 0.0000 | 0.9000 | 0.4520 | model_form_blend |
| predicted_HR | 0.0000 | 0.1770 | 0.0889 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4490 | 1.2255 | model_form_blend |
| predicted_WHIP | - | 1.2064 | 1.2064 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.27 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260819_SEA@MIL |
| game_type | full |
| mlbID | 662253 |
| playerID | 662253 |
| playerName | Andrés Muñoz |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-19 |
| game_pk | 823748.0 |
| sl_k_percent | 37.4 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.285 |
| sl_xwoba | 0.28 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 41.7 |
| sl_whiff_percent | 40.3 |
| sl_swing_percent | 47.3 |
| sv_pitch_count | 9.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 95.53333333333332 |
| sv_release_spin_rate | 2217.222222222222 |
| sv_effective_speed | 96.16666666666669 |
| sv_launch_speed | 98.7 |
| sv_launch_angle | 16.0 |
| 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 | 75.928338039 |
| sl_avg_hyper_speed | 94.437899412 |
| 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.267 | 0.000 | -0.267 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.317 | 0.000 | -0.317 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.933 | 1.000 | -0.933 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.798 | 1.000 | 0.202 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.950 | 2.000 | -0.950 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "660825",
"player_name": "Eduard Bazardo",
"position": "Middle Reliever (High Leverage)",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 4.000 | 2.000 | 6.000 | 0.000 | 0.0000 | 1.0588 | 0.0000 | 0.7059 | 0.3529 | 1.0588 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 4.000 | 11.000 | 2.000 | 10.000 | 3.000 | 3.6000 | 1.3000 | 0.4000 | 1.1000 | 0.2000 | 1.0000 | 0.3000 |
| season | 0.20 | 60 | 57.000 | 19.000 | 56.000 | 16.000 | 57.000 | 8.000 | 3.0000 | 1.2632 | 0.3333 | 0.9825 | 0.2807 | 1.0000 | 0.1404 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3100 |
| predicted_ER | 0.2960 |
| predicted_ERA | 2.6668 |
| predicted_H | 0.9210 |
| predicted_HR | 0.1370 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0040 |
| predicted_WHIP | 1.2312 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3100 | 0.1616 | model_form_blend |
| predicted_ER | 0.0000 | 0.2960 | 0.1543 | model_form_blend |
| predicted_ERA | - | 2.6668 | 2.6668 | form_only |
| predicted_H | 0.0000 | 0.9210 | 0.4802 | model_form_blend |
| predicted_HR | 0.0000 | 0.1370 | 0.0714 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0040 | 0.5235 | model_form_blend |
| predicted_WHIP | - | 1.2312 | 1.2312 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 60 |
| Season rows before report date | 60 |
| Report year | 2026 |
| Profile rows used | 60 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260819_SEA@MIL |
| game_type | full |
| mlbID | 660825 |
| playerID | 660825 |
| playerName | Eduard Bazardo |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-19 |
| game_pk | 823748.0 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.315 |
| sl_xwoba | 0.316 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 37.6 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 46.2 |
| sv_pitch_count | 19.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.84736842105262 |
| sv_release_spin_rate | 2349.7894736842104 |
| sv_effective_speed | 91.29473684210524 |
| sv_launch_speed | 94.325 |
| sv_launch_angle | 25.25 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.2629999999999999 |
| sv_delta_home_win_exp | -0.064 |
| sl_avg_best_speed | 79.009896296 |
| sl_avg_hyper_speed | 94.03863882 |
| 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.241 | 0.000 | -0.241 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.362 | 0.000 | 0.638 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.966 | 0.000 | 0.034 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.803 | 0.200 | 0.297 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.759 | 1.000 | 0.241 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_run_redistribution | 3 | 3 | 0 | 1 | 2 | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "678606",
"player_name": "José A. Ferrer",
"position": "Setup Man",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.1,
"after": 1.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 1.100 | 0.100 |
| predicted_SO | 1.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 2.000 | 3.000 | 0.000 | 5.000 | 1.000 | 3.8571 | 0.6429 | 0.4286 | 0.6429 | 0.0000 | 1.0714 | 0.2143 |
| last_10 | 0.35 | 10 | 9.200 | 8.000 | 11.000 | 1.000 | 8.000 | 3.000 | 7.4483 | 1.2414 | 0.8276 | 1.1379 | 0.1035 | 0.8276 | 0.3103 |
| season | 0.20 | 57 | 52.200 | 21.000 | 55.000 | 14.000 | 44.000 | 6.000 | 3.5886 | 1.3101 | 0.3987 | 1.0443 | 0.2658 | 0.8354 | 0.1139 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1780 |
| predicted_ER | 0.5430 |
| predicted_ERA | 4.8836 |
| predicted_H | 0.9210 |
| predicted_HR | 0.2020 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9430 |
| predicted_WHIP | 1.0992 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1780 | 0.0915 | model_form_blend |
| predicted_ER | 0.0000 | 0.5430 | 0.2792 | model_form_blend |
| predicted_ERA | - | 4.8836 | 4.8836 | form_only |
| predicted_H | 0.0000 | 0.9210 | 0.4736 | model_form_blend |
| predicted_HR | 0.0000 | 0.2020 | 0.1039 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9430 | 0.9707 | model_form_blend |
| predicted_WHIP | - | 1.0992 | 1.0992 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 58 |
| Season rows before report date | 58 |
| Report year | 2026 |
| Profile rows used | 57 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.59 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260820_SEA@MIL |
| game_type | full |
| mlbID | 678606 |
| playerID | 678606 |
| playerName | José A. Ferrer |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-08-20 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.318 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 50.9 |
| sl_avg_best_speed | 75.277968537 |
| sl_avg_hyper_speed | 93.429124817 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CIN 3 - 4 ARI | ARI | 0.560 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CIN 3 - 4 ARI | ARI | - | organic_simulation_realized_target | 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.6100; empirical=0.5588; weight=0.5000; final=0.5844 |
| P1 | H2H margin as base feature | available | home net=4; abs=4; home delta=0.0273; away delta=-0.0273 |
| 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.7969; recent edge=0.3440; 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.5598 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_simulation_realized_target |
| 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.015 | 5.701 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 6 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5598 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_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.5037964225519288,
"base_low_score_probability": 0.43224530168150344,
"low_score_signal_threshold": 0.5122453016815034,
"low_score_signal_strength": 0.07155112087042537,
"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": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_never_clamp_v2",
"sample_size": 204,
"near_bucket_sample_size": 204,
"medium_bucket_sample_size": 593,
"wide_bucket_sample_size": 606,
"global_sample_size": 606,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5588,
"bayesian_hit_rate": 0.5541,
"prior_strength": 18.0,
"raw_pick_probability": 0.585,
"raw_pick_probability_unclamped": 0.585,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.585,
"margin_implied_pick_probability": 0.585,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.585,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.585,
"uncapped_away_win_probability": 0.415,
"calibrated_pick_probability": 0.5805,
"predicted_side": "home",
"reliability": 0.918919,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.947297
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.61,
"sample_size": 204,
"empirical_hit_rate": 0.5588,
"empirical_weight": 0.5,
"blended_confidence": 0.5844,
"published_confidence": 0.559794,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 3,
"sample_weight": 0.0409,
"home_net_margin": 4.0,
"absolute_net_margin": 4.0,
"home_average_margin": 1.333,
"home_run_delta": 0.0273,
"away_run_delta": -0.0273,
"evidence": [
{
"game_id": null,
"home_margin": 2.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": 3.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": true,
"home": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234375,
"runs_scored": 579,
"runs_allowed": 575,
"run_differential": 4,
"run_differential_per_game": 0.03125,
"available": true
},
"away": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4765625,
"runs_scored": 523,
"runs_allowed": 612,
"run_differential": -89,
"run_differential_per_game": -0.6953125,
"available": true
},
"run_differential_edge_per_game": 0.7266,
"win_pct_edge": 0.0469,
"quality_edge": 0.6384,
"season_quality_edge": 0.7969,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.7969,
"recent_quality_edge": 0.344,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": 0.6384
},
"margin_adjustment": 0.2681,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": 0.2681,
"cap": 1.4,
"scale": 0.42,
"quality_edge": 0.6384,
"season_quality_edge": 0.7969,
"recent_alignment": "aligned",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 1.99,
"home_runs": 5.321,
"home_win_probability": 0.7831
}
}{
"most_likely": [
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.02924299339503648
},
{
"home_runs": 5,
"away_runs": 3,
"probability": 0.027808549941083234
},
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.027368768660645967
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.02657788159490621
},
{
"home_runs": 5,
"away_runs": 4,
"probability": 0.026026260712923764
}
],
"home_distribution": {
"0": 0.0450202394820317,
"1": 0.0767262733093208,
"2": 0.11301483661852349,
"3": 0.14387385221572746,
"4": 0.1583008824476562,
"5": 0.15053582018078837,
"6": 0.12372327967438213,
"7": 0.08788566595297789,
"8": 0.05395599744964899,
"9": 0.028629677532488886,
"10": 0.0131295016100352,
"11": 0.005203973526418959
},
"away_distribution": {
"0": 0.0711719772072724,
"1": 0.11852420321118455,
"2": 0.16288591464486632,
"3": 0.1847304509165069,
"4": 0.17289081549937493,
"5": 0.13353153096726725,
"6": 0.08510874897948853,
"7": 0.04476546070188802,
"8": 0.019430786636238647,
"9": 0.006960111235912469
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": false,
"reasons": [
"recent head-to-head is split and volatile"
],
"signals": {
"predicted_team": "ARI",
"opponent_team": "CIN",
"h2h_net_margin": 4,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-06-14",
"predicted_team_runs": 5,
"opponent_runs": 3,
"margin_for_predicted_team": 2,
"winner": "ARI"
},
{
"date": "2026-06-13",
"predicted_team_runs": 1,
"opponent_runs": 2,
"margin_for_predicted_team": -1,
"winner": "CIN"
},
{
"date": "2026-06-12",
"predicted_team_runs": 5,
"opponent_runs": 2,
"margin_for_predicted_team": 3,
"winner": "ARI"
}
],
"prediction_memory": {
"available": false,
"reason": "no_verified_prior_matchup_predictions",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 0,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": []
},
"guardrail_predicted_team": "ARI",
"guardrail_opponent_team": "CIN",
"output_pre_simulation_winner": "ARI",
"output_opponent_team": "CIN",
"simulation_score_winner": "ARI",
"final_score_winner": "ARI",
"pre_simulation_winner": "ARI",
"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": "CIN 3 - 4 ARI",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "CIN 3 - 4 ARI",
"winner": "ARI"
},
"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.0832,
"recent_form_edge_home_minus_away": 0.4607,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 4,
"winner": "ARI",
"model_winner": "ARI",
"simulation_winner": "ARI",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 4,
"published_winner": "ARI",
"published_winner_draw_share": 0.75,
"draw_majority_team": "ARI",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"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.6384,
"winner": "ARI",
"score_reviewed": {
"away_runs": 3,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published 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": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234375,
"runs_scored": 579,
"runs_allowed": 575,
"run_differential": 4,
"run_differential_per_game": 0.03125,
"available": true
},
"away": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4765625,
"runs_scored": 523,
"runs_allowed": 612,
"run_differential": -89,
"run_differential_per_game": -0.6953125,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.0,
"final_margin": 1.0,
"margin_cap": 1.5,
"season_quality_edge": 0.6384,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.5844,
"final_confidence": 0.5805,
"calibrated_pick_probability": 0.5805,
"shrinkage_weight": 0.947297,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 1.0,
"calibration_sample_size": 204,
"calibration_empirical_hit_rate": 0.5588,
"calibration_bayesian_hit_rate": 0.5541,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6384,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 3,
"home_runs": 4
},
"margin": 1,
"probability_before": 0.58052,
"margin_implied_home_probability": 0.585,
"shrinkage_weight": 0.947297,
"side_flipped": false,
"applied": true,
"probability_after": 0.58276,
"aligned_pick_probability": 0.58276
}
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "CIN 3 - 4 ARI",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "CIN 3 - 4 ARI",
"winner": "ARI"
},
"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.0832,
"recent_form_edge_home_minus_away": 0.4607,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 4,
"winner": "ARI",
"model_winner": "ARI",
"simulation_winner": "ARI",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 4,
"published_winner": "ARI",
"published_winner_draw_share": 0.75,
"draw_majority_team": "ARI",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"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.6384,
"winner": "ARI",
"score_reviewed": {
"away_runs": 3,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 4,
"confidence": 0.5597941,
"home_win_probability": 0.5597941,
"away_win_probability": 0.44020590000000004,
"predicted_score_text": "CIN 3 - 4 ARI",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "CIN",
"original_runs": 3,
"run_delta": 0.2932,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.12534447318550887,
"contact": -0.15952624625917683,
"power": 0.18529855672339846,
"discipline": -0.1820798102482361,
"xwoba": 0.3055806451612904,
"recent_xwoba": 0.3055806451612904,
"barrel": 8.796774193548387,
"ab_hard_contact": -0.0410273294337295,
"ab_bat_speed": 70.10625350551346,
"ab_strikeout_rate": 0.276037570534052,
"available_players": 9,
"top_players": [
{
"player_id": "682829",
"player_name": "Elly De La Cruz",
"position": "SS",
"weight": 4.0,
"quality": 0.9980406708552556,
"contact": 1.0133034253388806,
"power": 1.3598894830145214,
"discipline": 0.0008699666795995986,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 13.7,
"ab_hard_contact": 1.5673134698142375,
"ab_bat_speed": 74.83180065883191,
"ab_strikeout_rate": 0.27085622710622714,
"available": 1.0
},
{
"player_id": "624431",
"player_name": "Jose Trevino",
"position": "C",
"weight": 3.0,
"quality": -0.5407020342468052,
"contact": -1.3267819865095434,
"power": -1.1454125536614632,
"discipline": -0.7741870166596417,
"xwoba": 0.217,
"recent_xwoba": 0.217,
"barrel": 2.4,
"ab_hard_contact": -1.3280605970387946,
"ab_bat_speed": 67.54243279569893,
"ab_strikeout_rate": 0.19569892473118278,
"available": 1.0
},
{
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "1B",
"weight": 4.0,
"quality": 0.5701067455406696,
"contact": 0.4262780456923224,
"power": 0.9549014324649879,
"discipline": 0.08550706873743358,
"xwoba": 0.348,
"recent_xwoba": 0.348,
"barrel": 13.3,
"ab_hard_contact": 0.5506000778711765,
"ab_bat_speed": 70.6848693379791,
"ab_strikeout_rate": 0.21964769647696475,
"available": 1.0
},
{
"player_id": "553993",
"player_name": "Eugenio Suárez",
"position": "DH",
"weight": 4.0,
"quality": -0.5627425784607921,
"contact": -1.021266826518367,
"power": -0.0008711257240772326,
"discipline": -0.7468305438028254,
"xwoba": 0.278,
"recent_xwoba": 0.278,
"barrel": 11.4,
"ab_hard_contact": -0.1286606097196547,
"ab_bat_speed": 69.18663732691658,
"ab_strikeout_rate": 0.3620567375886525,
"available": 1.0
},
{
"player_id": "668709",
"player_name": "JJ Bleday",
"position": "RF",
"weight": 4.0,
"quality": 0.3628602392826926,
"contact": 0.27006115220503635,
"power": 0.40725140680370203,
"discipline": 0.638639567646009,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 9.6,
"ab_hard_contact": 0.12521861226450817,
"ab_bat_speed": 72.12313967691095,
"ab_strikeout_rate": 0.22287234042553192,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "593958",
"player_name": "Eduardo Rodriguez",
"quality": -0.3924573152656404,
"contact": -0.3310259515244217,
"command": -0.4392279541446208,
"movement": -0.5486638074522706,
"xwoba": 0.333,
"whiff": 20.6,
"faced_est_woba": 0.24706411111111112,
"faced_launch_speed": 79.2030753968254,
"faced_strikeout_rate": 0.23720238095238097,
"faced_run_exp": 0.032172038626056484
}
},
"home": {
"team": "ARI",
"original_runs": 4,
"run_delta": 0.3771,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.05504117755364545,
"contact": 0.08775611418358353,
"power": -0.1377010219154197,
"discipline": 0.20893540171761119,
"xwoba": 0.3176969696969697,
"recent_xwoba": 0.3176969696969697,
"barrel": 6.315151515151515,
"ab_hard_contact": -0.11534799963596343,
"ab_bat_speed": 69.71608757920964,
"ab_strikeout_rate": 0.2031652509426744,
"available_players": 9,
"top_players": [
{
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "RF",
"weight": 4.0,
"quality": 0.6491200494523897,
"contact": 0.6182569099697401,
"power": 0.9063976255105581,
"discipline": 0.3364253807776968,
"xwoba": 0.344,
"recent_xwoba": 0.344,
"barrel": 11.9,
"ab_hard_contact": 0.7740477483063911,
"ab_bat_speed": 74.48744811753903,
"ab_strikeout_rate": 0.21701509872241578,
"available": 1.0
},
{
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "C",
"weight": 5.0,
"quality": 0.7408381595581902,
"contact": 1.1102254785598942,
"power": 0.45557516555868477,
"discipline": 0.8411411597722211,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 7.4,
"ab_hard_contact": 0.2067414064117894,
"ab_bat_speed": 70.54156073858114,
"ab_strikeout_rate": 0.16258503401360544,
"available": 1.0
},
{
"player_id": "571448",
"player_name": "Nolan Arenado",
"position": "DH",
"weight": 4.0,
"quality": -0.4502820668344901,
"contact": -0.5431599176780196,
"power": -0.47325424827356,
"discipline": 0.1411426586768679,
"xwoba": 0.297,
"recent_xwoba": 0.297,
"barrel": 6.9,
"ab_hard_contact": -0.26089448928072567,
"ab_bat_speed": 69.8585418377121,
"ab_strikeout_rate": 0.2114406779661017,
"available": 1.0
},
{
"player_id": "699912",
"player_name": "Jose Fernandez",
"position": "3B",
"weight": 3.0,
"quality": -0.3869452247297318,
"contact": -0.44900488474476674,
"power": -0.4753148357286106,
"discipline": -0.6049331468735141,
"xwoba": 0.276,
"recent_xwoba": 0.276,
"barrel": 4.4,
"ab_hard_contact": -0.7264871907627172,
"ab_bat_speed": 71.62770124716553,
"ab_strikeout_rate": 0.2567307692307692,
"available": 1.0
},
{
"player_id": "691783",
"player_name": "Jordan Lawlar",
"position": "CF",
"weight": 3.0,
"quality": -0.18610545502455805,
"contact": -0.7578654286315534,
"power": -0.9622872116875767,
"discipline": -0.5923928538332208,
"xwoba": 0.294,
"recent_xwoba": 0.294,
"barrel": 3.0,
"ab_hard_contact": -0.21983947184678232,
"ab_bat_speed": 66.8670634920635,
"ab_strikeout_rate": 0.294047619047619,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "666157",
"player_name": "Nick Lodolo",
"quality": -0.6732866369701506,
"contact": -0.8622399191147554,
"command": -0.5505291005291008,
"movement": -0.39651588105586555,
"xwoba": 0.369,
"whiff": 21.9,
"faced_est_woba": 0.26554733936838626,
"faced_launch_speed": 83.81188821570295,
"faced_strikeout_rate": 0.23519890260631002,
"faced_run_exp": 0.006579622285186518
}
}
},
"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.6384,
"recent_form_edge_home_minus_away": 0.4607,
"pitcher_matchup_edge_home_minus_away": 0.0832,
"composite_home_edge": 0.8293,
"existing_home_win_probability": 0.5828,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.8293
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.58276,
"uncapped_away_win_probability": 0.41724,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.58276,
"discount_factor": 0.7225,
"published_confidence": 0.559794,
"guardrail_confidence_cap": 0.6,
"guardrail_cap_enforced": false,
"applied_discounts": [
{
"reason": "projected_margin_is_one_run",
"factor": 0.85
},
{
"reason": "matchup_recency_guardrail",
"factor": 0.85
}
]
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "CIN 3 - 4 ARI",
"confidence": 0.5597941,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "CIN 3 - 4 ARI",
"winner": "ARI"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "CIN 3 - 4 ARI",
"winner": "ARI"
},
"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.0832,
"recent_form_edge_home_minus_away": 0.4607,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 4,
"winner": "ARI",
"model_winner": "ARI",
"simulation_winner": "ARI",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 4,
"published_winner": "ARI",
"published_winner_draw_share": 0.75,
"draw_majority_team": "ARI",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"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.6384,
"winner": "ARI",
"score_reviewed": {
"away_runs": 3,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "ARI",
"display_confidence": 0.5598,
"internal_signal_score": 0.6455,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5598,
"confidence_compression_detected": false,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "neutral_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.6384,
"winner_recent_form_edge": 0.344,
"winner_pitcher_matchup_edge": 0.0832,
"winner_simulation_draw_rate": 0.75,
"blowout_draw_rate_margin_4_plus": 0.25,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.25,
"total_runs_spread": {
"min": 5,
"median": 9,
"max": 10,
"range": 5
}
},
"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 CIN | True | 1.0203 | 1.0203 | 1 | 9 | 0 |
| Home ARI | True | 1.0111 | 1.0111 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Elly De La Cruz | 46 | 1.0918 | 1.2235 | neutral | 0.3580 | 0.2670 | 0.4660 | 13.70 | 51.30 | 93.80 | 10 | 28.30 | 27.30 | 11.10 | 0.1714 |
| DH | Eugenio Suárez | 601 | 0.9709 | -0.3874 | neutral | 0.2780 | 0.1920 | 0.3430 | 11.40 | 36.40 | 88.70 | 20.50 | 34.80 | 35.90 | 9.40 | -0.8000 |
| RF | JJ Bleday | 170 | 1.0552 | 0.7364 | neutral | 0.3470 | 0.2390 | 0.4310 | 9.60 | 40.80 | 88.70 | 22.80 | 26.60 | 21.70 | 14.20 | 0.2857 |
| CF | Dane Myers | 254 | 1.0103 | 0.1379 | neutral | 0.3180 | 0.2350 | 0.3680 | 5.60 | 36.20 | 89.70 | 15.30 | 20.40 | 25 | 11.70 | -0.1714 |
| 1B | Sal Stewart | 93 | 1.0668 | 0.8904 | neutral | 0.3480 | 0.2530 | 0.4740 | 13.30 | 38.60 | 90.20 | 13.20 | 27 | 21.90 | 9.90 | 0.0286 |
| LF | Michael Toglia | 571 | 0.9705 | -0.3937 | positive_batter_regression | 0.2220 | 0.1830 | 0.2510 | 0 | 57.10 | 91.60 | 16.50 | 34.80 | 42.90 | 7.10 | 1.4286 |
| 2B | Matt McLain | 275 | 1.0363 | 0.4841 | neutral | 0.3230 | 0.2350 | 0.4010 | 10.40 | 38 | 88.20 | 20.40 | 28.10 | 27 | 11.20 | 0.8286 |
| C | Jose Trevino | 359 | 0.9484 | -0.6882 | negative_batter_regression | 0.2170 | 0.2050 | 0.2860 | 2.40 | 32.10 | 86.20 | 11.10 | 22.50 | 19 | 1 | -1.7714 |
| 3B | Ke'Bryan Hayes | 543 | 1.0329 | 0.4382 | positive_batter_regression | 0.3030 | 0.2470 | 0.4020 | 8.50 | 39 | 90.50 | 15.40 | 23.70 | 19.40 | 5.10 | 2 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Ildemaro Vargas | 128 | 1.0072 | 0.0963 | neutral | 0.3100 | 0.2790 | 0.3820 | 3.70 | 35.50 | 87.50 | 10 | 15.20 | 9.70 | 5.60 | -0.0286 |
| DH | Nolan Arenado | 99 | 0.9755 | -0.3263 | negative_batter_regression | 0.2970 | 0.2300 | 0.3580 | 6.90 | 32.50 | 85.10 | 19 | 23.60 | 20.70 | 9.10 | -1.0286 |
| 1B | Tim Tawa | 494 | 1.0208 | 0.2770 | neutral | 0.3040 | 0.2400 | 0.4000 | 9.10 | 44.90 | 90.60 | 10.20 | 27.30 | 23.60 | 7.10 | 0.2857 |
| CF | Jordan Lawlar | 280 | 0.9803 | -0.2633 | neutral | 0.2940 | 0.2330 | 0.3250 | 3 | 24.20 | 86.20 | 20.80 | 24.50 | 27.80 | 5.60 | -0.5143 |
| 3B | Jose Fernandez | 363 | 0.9739 | -0.3479 | neutral | 0.2760 | 0.2410 | 0.3490 | 4.40 | 38.70 | 87.90 | 10.40 | 24.60 | 22.80 | 4.20 | -0.4571 |
| C | Gabriel Moreno | 13 | 1.0793 | 1.0575 | neutral | 0.3690 | 0.2940 | 0.4550 | 7.40 | 42.50 | 89.30 | 11.60 | 15.80 | 15.50 | 11.10 | -0.1143 |
| LF | Ryan Waldschmidt | 169 | 1.0025 | 0.0328 | neutral | 0.3070 | 0.2530 | 0.3780 | 6.50 | 31.90 | 87.80 | 16.80 | 31.80 | 28.40 | 7.20 | -0.5143 |
| RF | Corbin Carroll | 12 | 1.0588 | 0.7843 | neutral | 0.3440 | 0.2470 | 0.4400 | 11.90 | 48.10 | 91.60 | 15.10 | 27.20 | 21.70 | 11.90 | -0.3714 |
| SS | Geraldo Perdomo | 19 | 1.0020 | 0.0271 | neutral | 0.3230 | 0.2490 | 0.3410 | 3.10 | 29.70 | 87.40 | 14.70 | 12.10 | 12.40 | 14.10 | -0.1143 |
{
"home": {
"applied": true,
"offense_factor": 1.0111,
"raw_average_factor": 1.0111,
"team_espn_average_rank": 175.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "545121",
"player_name": "Ildemaro Vargas",
"offense_factor": 1.0072,
"quality_score": 0.0963,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "545121",
"espn_id": 32985,
"player_name": "Ildemaro Vargas",
"team": "ARI",
"role": "batter",
"espn_rank": 128,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 128,
"gp_value": 112.0,
"gp_rank": 120,
"ab_value": 364.0,
"ab_rank": 129,
"r_value": 50.0,
"r_rank": 122,
"h_value": 96.0,
"h_rank": 115,
"avg_value": 0.2637362,
"avg_rank": 55.0,
"2b_value": 17.0,
"2b_rank": 130,
"3b_value": 4.0,
"3b_rank": 15,
"hr_value": 9.0,
"hr_rank": 182,
"rbi_value": 60.0,
"rbi_rank": 69,
"tb_value": 148.0,
"tb_rank": 821,
"bb_value": 22.0,
"bb_rank": 231,
"so_value": 38.0,
"so_rank": 338,
"sb_value": 3.0,
"sb_rank": 221,
"obp_value": 0.3084832,
"obp_rank": "120",
"slg_value": 0.4065934,
"slg_rank": "94",
"ops_value": 0.7150766,
"ops_rank": 26.0,
"war_value": 1.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 375.0,
"k_percent": 9.7,
"bb_percent": 5.6,
"woba": 0.311,
"xwoba": 0.31,
"xba": 0.279,
"xslg": 0.382,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 35.5,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 10.0,
"whiff_percent": 15.2,
"swing_percent": 50.3
},
"components": {
"expected_quality": 0.1166,
"regression_edge": -0.0286,
"xwoba_edge": 0.2286,
"xba_edge": 1.2,
"xslg_edge": 0.2,
"barrel_edge": -0.6889,
"hard_hit_edge": -0.3071,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "571448",
"player_name": "Nolan Arenado",
"offense_factor": 0.9755,
"quality_score": -0.3263,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "571448",
"espn_id": 31261,
"player_name": "Nolan Arenado",
"team": "ARI",
"role": "batter",
"espn_rank": 99,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 99,
"gp_value": 119.0,
"gp_rank": 78,
"ab_value": 411.0,
"ab_rank": 97,
"r_value": 59.0,
"r_rank": 81,
"h_value": 100.0,
"h_rank": 102,
"avg_value": 0.243309,
"avg_rank": 100.0,
"2b_value": 20.0,
"2b_rank": 82,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 20.0,
"hr_rank": 44,
"rbi_value": 63.0,
"rbi_rank": 54,
"tb_value": 182.0,
"tb_rank": 562,
"bb_value": 42.0,
"bb_rank": 91,
"so_value": 96.0,
"so_rank": 93,
"sb_value": 4.0,
"sb_rank": 187,
"obp_value": 0.3218142,
"obp_rank": "85",
"slg_value": 0.4428223,
"slg_rank": "54",
"ops_value": 0.7646365,
"ops_rank": 31.0,
"war_value": 2.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 455.0,
"k_percent": 20.7,
"bb_percent": 9.1,
"woba": 0.333,
"xwoba": 0.297,
"xba": 0.23,
"xslg": 0.358,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 32.5,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 19.0,
"whiff_percent": 23.6,
"swing_percent": 45.4
},
"components": {
"expected_quality": -0.2119,
"regression_edge": -1.0286,
"xwoba_edge": -0.1429,
"xba_edge": -0.2,
"xslg_edge": -0.1429,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.7357,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "694374",
"player_name": "Tim Tawa",
"offense_factor": 1.0208,
"quality_score": 0.277,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694374",
"espn_id": 4345192,
"player_name": "Tim Tawa",
"team": "ARI",
"role": "batter",
"espn_rank": 494,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 494,
"gp_value": 71.0,
"gp_rank": 292,
"ab_value": 200.0,
"ab_rank": 289,
"r_value": 23.0,
"r_rank": 299,
"h_value": 47.0,
"h_rank": 281,
"avg_value": 0.235,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 269,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 29.0,
"rbi_rank": 246,
"tb_value": 77.0,
"tb_rank": 1749,
"bb_value": 16.0,
"bb_rank": 305,
"so_value": 53.0,
"so_rank": 260,
"sb_value": 6.0,
"sb_rank": 140,
"obp_value": 0.2876712,
"obp_rank": "-",
"slg_value": 0.385,
"slg_rank": "-",
"ops_value": 0.6726712,
"ops_rank": null,
"war_value": -0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 23.6,
"bb_percent": 7.1,
"woba": 0.294,
"xwoba": 0.304,
"xba": 0.24,
"xslg": 0.4,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 10.2,
"whiff_percent": 27.3,
"swing_percent": 49.1
},
"components": {
"expected_quality": 0.2925,
"regression_edge": 0.2857,
"xwoba_edge": 0.0571,
"xba_edge": 0.0857,
"xslg_edge": 0.4571,
"barrel_edge": 0.5111,
"hard_hit_edge": 1.0357,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "691783",
"player_name": "Jordan Lawlar",
"offense_factor": 0.9803,
"quality_score": -0.2633,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691783",
"espn_id": 4872649,
"player_name": "Jordan Lawlar",
"team": "ARI",
"role": "batter",
"espn_rank": 280,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 280,
"gp_value": 15.0,
"gp_rank": 518,
"ab_value": 48.0,
"ab_rank": 487,
"r_value": 6.0,
"r_rank": 470,
"h_value": 12.0,
"h_rank": 469,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 1.0,
"hr_rank": 444,
"rbi_value": 4.0,
"rbi_rank": 500,
"tb_value": 17.0,
"tb_rank": 2803,
"bb_value": 3.0,
"bb_rank": 485,
"so_value": 15.0,
"so_rank": 482,
"sb_value": 4.0,
"sb_rank": 187,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.3541666,
"slg_rank": "-",
"ops_value": 0.6874999,
"ops_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 52.0,
"k_percent": 27.8,
"bb_percent": 5.6,
"woba": 0.312,
"xwoba": 0.294,
"xba": 0.233,
"xslg": 0.325,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 24.2,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 20.8,
"whiff_percent": 24.5,
"swing_percent": 45.6
},
"components": {
"expected_quality": -0.5966,
"regression_edge": -0.5143,
"xwoba_edge": -0.2286,
"xba_edge": -0.1143,
"xslg_edge": -0.6143,
"barrel_edge": -0.8444,
"hard_hit_edge": -1.9214,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": -1.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "699912",
"player_name": "Jose Fernandez",
"offense_factor": 0.9739,
"quality_score": -0.3479,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699912",
"espn_id": 5010500,
"player_name": "Jose Fernandez",
"team": "ARI",
"role": "batter",
"espn_rank": 363,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 363,
"gp_value": 58.0,
"gp_rank": 345,
"ab_value": 176.0,
"ab_rank": 316,
"r_value": 24.0,
"r_rank": 291,
"h_value": 46.0,
"h_rank": 288,
"avg_value": 0.2613636,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 269,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 3.0,
"hr_rank": 347,
"rbi_value": 16.0,
"rbi_rank": 349,
"tb_value": 64.0,
"tb_rank": 2140,
"bb_value": 8.0,
"bb_rank": 403,
"so_value": 43.0,
"so_rank": 316,
"sb_value": 7.0,
"sb_rank": 113,
"obp_value": 0.2972972,
"obp_rank": "-",
"slg_value": 0.3636363,
"slg_rank": "-",
"ops_value": 0.6609335,
"ops_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 175.0,
"k_percent": 22.8,
"bb_percent": 4.2,
"woba": 0.292,
"xwoba": 0.276,
"xba": 0.241,
"xslg": 0.349,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 38.7,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 10.4,
"whiff_percent": 24.6,
"swing_percent": 47.1
},
"components": {
"expected_quality": -0.4341,
"regression_edge": -0.4571,
"xwoba_edge": -0.7429,
"xba_edge": 0.1143,
"xslg_edge": -0.2714,
"barrel_edge": -0.5333,
"hard_hit_edge": 0.15,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": -0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"offense_factor": 1.0793,
"quality_score": 1.0575,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672515",
"espn_id": 42464,
"player_name": "Gabriel Moreno",
"team": "ARI",
"role": "batter",
"espn_rank": 13,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 13,
"gp_value": 99.0,
"gp_rank": 166,
"ab_value": 355.0,
"ab_rank": 133,
"r_value": 55.0,
"r_rank": 102,
"h_value": 109.0,
"h_rank": 80,
"avg_value": 0.3070422,
"avg_rank": 7.0,
"2b_value": 26.0,
"2b_rank": 18,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 10.0,
"hr_rank": 160,
"rbi_value": 62.0,
"rbi_rank": 61,
"tb_value": 167.0,
"tb_rank": 824,
"bb_value": 46.0,
"bb_rank": 75,
"so_value": 64.0,
"so_rank": 215,
"sb_value": 4.0,
"sb_rank": 187,
"obp_value": 0.3849878,
"obp_rank": "7",
"slg_value": 0.4704225,
"slg_rank": "36",
"ops_value": 0.8554103,
"ops_rank": 29.0,
"war_value": 4.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 405.0,
"k_percent": 15.5,
"bb_percent": 11.1,
"woba": 0.373,
"xwoba": 0.369,
"xba": 0.294,
"xslg": 0.455,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 42.5,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 11.6,
"whiff_percent": 15.8,
"swing_percent": 42.1
},
"components": {
"expected_quality": 1.2482,
"regression_edge": -0.1143,
"xwoba_edge": 1.9143,
"xba_edge": 1.6286,
"xslg_edge": 1.2429,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.6929,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "814439",
"player_name": "Ryan Waldschmidt",
"offense_factor": 1.0025,
"quality_score": 0.0328,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "814439",
"espn_id": 5129344,
"player_name": "Ryan Waldschmidt",
"team": "ARI",
"role": "batter",
"espn_rank": 169,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 169,
"gp_value": 61.0,
"gp_rank": 328,
"ab_value": 197.0,
"ab_rank": 293,
"r_value": 26.0,
"r_rank": 270,
"h_value": 55.0,
"h_rank": 248,
"avg_value": 0.2791878,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 178,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 2.0,
"hr_rank": 392,
"rbi_value": 17.0,
"rbi_rank": 338,
"tb_value": 77.0,
"tb_rank": 1848,
"bb_value": 16.0,
"bb_rank": 305,
"so_value": 63.0,
"so_rank": 222,
"sb_value": 7.0,
"sb_rank": 113,
"obp_value": 0.3424657,
"obp_rank": "-",
"slg_value": 0.3908629,
"slg_rank": "-",
"ops_value": 0.7333286,
"ops_rank": null,
"war_value": 1.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 28.4,
"bb_percent": 7.2,
"woba": 0.325,
"xwoba": 0.307,
"xba": 0.253,
"xslg": 0.378,
"sweet_spot_percent": 48.6,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 31.9,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 16.8,
"whiff_percent": 31.8,
"swing_percent": 43.6
},
"components": {
"expected_quality": 0.1237,
"regression_edge": -0.5143,
"xwoba_edge": 0.1429,
"xba_edge": 0.4571,
"xslg_edge": 0.1429,
"barrel_edge": -0.0667,
"hard_hit_edge": -0.8214,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "682998",
"player_name": "Corbin Carroll",
"offense_factor": 1.0588,
"quality_score": 0.7843,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682998",
"espn_id": 42404,
"player_name": "Corbin Carroll",
"team": "ARI",
"role": "batter",
"espn_rank": 12,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 12,
"gp_value": 124.0,
"gp_rank": 32,
"ab_value": 463.0,
"ab_rank": 43,
"r_value": 78.0,
"r_rank": 15,
"h_value": 114.0,
"h_rank": 64,
"avg_value": 0.2462203,
"avg_rank": 92.0,
"2b_value": 26.0,
"2b_rank": 18,
"3b_value": 15.0,
"3b_rank": 1,
"hr_value": 18.0,
"hr_rank": 61,
"rbi_value": 57.0,
"rbi_rank": 77,
"tb_value": 224.0,
"tb_rank": 263,
"bb_value": 64.0,
"bb_rank": 21,
"so_value": 117.0,
"so_rank": 48,
"sb_value": 17.0,
"sb_rank": 32,
"obp_value": 0.3457249,
"obp_rank": "52",
"slg_value": 0.4838012,
"slg_rank": "28",
"ops_value": 0.8295261,
"ops_rank": 80.0,
"war_value": 4.61,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 524.0,
"k_percent": 21.7,
"bb_percent": 11.9,
"woba": 0.357,
"xwoba": 0.344,
"xba": 0.247,
"xslg": 0.44,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 48.1,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 15.1,
"whiff_percent": 27.2,
"swing_percent": 45.2
},
"components": {
"expected_quality": 0.9724,
"regression_edge": -0.3714,
"xwoba_edge": 1.2,
"xba_edge": 0.2857,
"xslg_edge": 1.0286,
"barrel_edge": 1.1333,
"hard_hit_edge": 1.4929,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": -0.5333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"offense_factor": 1.002,
"quality_score": 0.0271,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672695",
"espn_id": 41355,
"player_name": "Geraldo Perdomo",
"team": "ARI",
"role": "batter",
"espn_rank": 19,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 19,
"gp_value": 123.0,
"gp_rank": 42,
"ab_value": 442.0,
"ab_rank": 76,
"r_value": 59.0,
"r_rank": 81,
"h_value": 108.0,
"h_rank": 84,
"avg_value": 0.2443438,
"avg_rank": 95.0,
"2b_value": 17.0,
"2b_rank": 130,
"3b_value": 6.0,
"3b_rank": 6,
"hr_value": 9.0,
"hr_rank": 182,
"rbi_value": 43.0,
"rbi_rank": 152,
"tb_value": 164.0,
"tb_rank": 772,
"bb_value": 75.0,
"bb_rank": 9,
"so_value": 66.0,
"so_rank": 209,
"sb_value": 17.0,
"sb_rank": 32,
"obp_value": 0.3548387,
"obp_rank": "38",
"slg_value": 0.3710407,
"slg_rank": "126",
"ops_value": 0.7258794,
"ops_rank": 164.0,
"war_value": 3.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 516.0,
"k_percent": 12.4,
"bb_percent": 14.1,
"woba": 0.327,
"xwoba": 0.323,
"xba": 0.249,
"xslg": 0.341,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 3.1,
"hard_hit_percent": 29.7,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 14.7,
"whiff_percent": 12.1,
"swing_percent": 39.0
},
"components": {
"expected_quality": 0.0501,
"regression_edge": -0.1143,
"xwoba_edge": 0.6,
"xba_edge": 0.3429,
"xslg_edge": -0.3857,
"barrel_edge": -0.8222,
"hard_hit_edge": -1.1357,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0203,
"raw_average_factor": 1.0203,
"team_espn_average_rank": 323.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "682829",
"player_name": "Elly De La Cruz",
"offense_factor": 1.0918,
"quality_score": 1.2235,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682829",
"espn_id": 4917694,
"player_name": "Elly De La Cruz",
"team": "CIN",
"role": "batter",
"espn_rank": 46,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 46,
"gp_value": 109.0,
"gp_rank": 133,
"ab_value": 428.0,
"ab_rank": 84,
"r_value": 71.0,
"r_rank": 35,
"h_value": 111.0,
"h_rank": 75,
"avg_value": 0.2593457,
"avg_rank": 70.0,
"2b_value": 19.0,
"2b_rank": 103,
"3b_value": 5.0,
"3b_rank": 11,
"hr_value": 20.0,
"hr_rank": 44,
"rbi_value": 57.0,
"rbi_rank": 77,
"tb_value": 200.0,
"tb_rank": 332,
"bb_value": 54.0,
"bb_rank": 42,
"so_value": 133.0,
"so_rank": 23,
"sb_value": 22.0,
"sb_rank": 16,
"obp_value": 0.3429158,
"obp_rank": "56",
"slg_value": 0.4672897,
"slg_rank": "40",
"ops_value": 0.8102055,
"ops_rank": 16.0,
"war_value": 3.09,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 470.0,
"k_percent": 27.3,
"bb_percent": 11.1,
"woba": 0.352,
"xwoba": 0.358,
"xba": 0.267,
"xslg": 0.466,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 13.7,
"hard_hit_percent": 51.3,
"exit_velocity_avg": 93.8,
"launch_angle_avg": 10.0,
"whiff_percent": 28.3,
"swing_percent": 41.2
},
"components": {
"expected_quality": 1.3947,
"regression_edge": 0.1714,
"xwoba_edge": 1.6,
"xba_edge": 0.8571,
"xslg_edge": 1.4,
"barrel_edge": 1.5333,
"hard_hit_edge": 1.95,
"exit_velocity_edge": 2.08,
"sweet_spot_edge": 0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"offense_factor": 0.9709,
"quality_score": -0.3874,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "553993",
"espn_id": 32367,
"player_name": "Eugenio Suarez",
"team": "CIN",
"role": "batter",
"espn_rank": 601,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 601,
"gp_value": 97.0,
"gp_rank": 171,
"ab_value": 341.0,
"ab_rank": 153,
"r_value": 33.0,
"r_rank": 222,
"h_value": 71.0,
"h_rank": 192,
"avg_value": 0.2082111,
"avg_rank": 148.0,
"2b_value": 16.0,
"2b_rank": 145,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 18.0,
"hr_rank": 61,
"rbi_value": 51.0,
"rbi_rank": 105,
"tb_value": 141.0,
"tb_rank": 1062,
"bb_value": 36.0,
"bb_rank": 126,
"so_value": 138.0,
"so_rank": 17,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.2890625,
"obp_rank": "143",
"slg_value": 0.4134897,
"slg_rank": "90",
"ops_value": 0.7025522,
"ops_rank": 233.0,
"war_value": -0.61,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 377.0,
"k_percent": 35.9,
"bb_percent": 9.4,
"woba": 0.306,
"xwoba": 0.278,
"xba": 0.192,
"xslg": 0.343,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 20.5,
"whiff_percent": 34.8,
"swing_percent": 46.6
},
"components": {
"expected_quality": -0.3202,
"regression_edge": -0.8,
"xwoba_edge": -0.6857,
"xba_edge": -1.2857,
"xslg_edge": -0.3571,
"barrel_edge": 1.0222,
"hard_hit_edge": -0.1786,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.6833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "668709",
"player_name": "JJ Bleday",
"offense_factor": 1.0552,
"quality_score": 0.7364,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668709",
"espn_id": 42410,
"player_name": "JJ Bleday",
"team": "CIN",
"role": "batter",
"espn_rank": 170,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 170,
"gp_value": 100.0,
"gp_rank": 164,
"ab_value": 351.0,
"ab_rank": 138,
"r_value": 47.0,
"r_rank": 140,
"h_value": 77.0,
"h_rank": 168,
"avg_value": 0.2193732,
"avg_rank": 137.0,
"2b_value": 13.0,
"2b_rank": 194,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 20.0,
"hr_rank": 44,
"rbi_value": 48.0,
"rbi_rank": 122,
"tb_value": 152.0,
"tb_rank": 740,
"bb_value": 59.0,
"bb_rank": 31,
"so_value": 90.0,
"so_rank": 114,
"sb_value": 6.0,
"sb_rank": 140,
"obp_value": 0.3333333,
"obp_rank": "73",
"slg_value": 0.4330484,
"slg_rank": "66",
"ops_value": 0.7663817,
"ops_rank": 139.0,
"war_value": 1.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 401.0,
"k_percent": 21.7,
"bb_percent": 14.2,
"woba": 0.337,
"xwoba": 0.347,
"xba": 0.239,
"xslg": 0.431,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 40.8,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 22.8,
"whiff_percent": 26.6,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.8097,
"regression_edge": 0.2857,
"xwoba_edge": 1.2857,
"xba_edge": 0.0571,
"xslg_edge": 0.9,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.45,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.9167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "667472",
"player_name": "Dane Myers",
"offense_factor": 1.0103,
"quality_score": 0.1379,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "667472",
"espn_id": 40048,
"player_name": "Dane Myers",
"team": "CIN",
"role": "batter",
"espn_rank": 254,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 254,
"gp_value": 92.0,
"gp_rank": 197,
"ab_value": 207.0,
"ab_rank": 282,
"r_value": 25.0,
"r_rank": 279,
"h_value": 53.0,
"h_rank": 255,
"avg_value": 0.2560386,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 288,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 5.0,
"hr_rank": 283,
"rbi_value": 21.0,
"rbi_rank": 310,
"tb_value": 76.0,
"tb_rank": 1934,
"bb_value": 28.0,
"bb_rank": 188,
"so_value": 60.0,
"so_rank": 235,
"sb_value": 8.0,
"sb_rank": 102,
"obp_value": 0.35,
"obp_rank": "-",
"slg_value": 0.3671497,
"slg_rank": "-",
"ops_value": 0.7171497,
"ops_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 226.0,
"k_percent": 25.0,
"bb_percent": 11.7,
"woba": 0.324,
"xwoba": 0.318,
"xba": 0.235,
"xslg": 0.368,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 15.3,
"whiff_percent": 20.4,
"swing_percent": 42.4
},
"components": {
"expected_quality": 0.1883,
"regression_edge": -0.1714,
"xwoba_edge": 0.4571,
"xba_edge": -0.0571,
"xslg_edge": 0.0,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.2071,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.3833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "701398",
"player_name": "Sal Stewart",
"offense_factor": 1.0668,
"quality_score": 0.8904,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701398",
"espn_id": 5080771,
"player_name": "Sal Stewart",
"team": "CIN",
"role": "batter",
"espn_rank": 93,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 93,
"gp_value": 128.0,
"gp_rank": 2,
"ab_value": 487.0,
"ab_rank": 13,
"r_value": 70.0,
"r_rank": 40,
"h_value": 126.0,
"h_rank": 28,
"avg_value": 0.2587268,
"avg_rank": 70.0,
"2b_value": 24.0,
"2b_rank": 42,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 27.0,
"hr_rank": 14,
"rbi_value": 96.0,
"rbi_rank": 1,
"tb_value": 231.0,
"tb_rank": 654,
"bb_value": 55.0,
"bb_rank": 39,
"so_value": 121.0,
"so_rank": 42,
"sb_value": 12.0,
"sb_rank": 59,
"obp_value": 0.3345388,
"obp_rank": "67",
"slg_value": 0.4743326,
"slg_rank": "33",
"ops_value": 0.8088714,
"ops_rank": 100.0,
"war_value": 2.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 526.0,
"k_percent": 21.9,
"bb_percent": 9.9,
"woba": 0.347,
"xwoba": 0.348,
"xba": 0.253,
"xslg": 0.474,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 13.2,
"whiff_percent": 27.0,
"swing_percent": 48.0
},
"components": {
"expected_quality": 1.0307,
"regression_edge": 0.0286,
"xwoba_edge": 1.3143,
"xba_edge": 0.4571,
"xslg_edge": 1.5143,
"barrel_edge": 1.4444,
"hard_hit_edge": 0.1357,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "669911",
"player_name": "Michael Toglia",
"offense_factor": 0.9705,
"quality_score": -0.3937,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669911",
"espn_id": 42412,
"player_name": "Michael Toglia",
"team": "CIN",
"role": "batter",
"espn_rank": 571,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 571,
"gp_value": 9.0,
"gp_rank": 564,
"ab_value": 26.0,
"ab_rank": 548,
"r_value": 2.0,
"r_rank": 543,
"h_value": 3.0,
"h_rank": 565,
"avg_value": 0.1153846,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 0.0,
"hr_rank": 516,
"rbi_value": 1.0,
"rbi_rank": 565,
"tb_value": 5.0,
"tb_rank": 3115,
"bb_value": 2.0,
"bb_rank": 508,
"so_value": 12.0,
"so_rank": 506,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.1785714,
"obp_rank": "-",
"slg_value": 0.1923076,
"slg_rank": "-",
"ops_value": 0.370879,
"ops_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 24.0,
"k_percent": 42.9,
"bb_percent": 7.1,
"woba": 0.172,
"xwoba": 0.222,
"xba": 0.183,
"xslg": 0.251,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 57.1,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 16.5,
"whiff_percent": 34.8,
"swing_percent": 43.8
},
"components": {
"expected_quality": -1.2498,
"regression_edge": 1.4286,
"xwoba_edge": -2.2857,
"xba_edge": -1.5429,
"xslg_edge": -1.6714,
"barrel_edge": -1.5111,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "680574",
"player_name": "Matt McLain",
"offense_factor": 1.0363,
"quality_score": 0.4841,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680574",
"espn_id": 4422899,
"player_name": "Matt McLain",
"team": "CIN",
"role": "batter",
"espn_rank": 275,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 275,
"gp_value": 104.0,
"gp_rank": 154,
"ab_value": 335.0,
"ab_rank": 158,
"r_value": 46.0,
"r_rank": 143,
"h_value": 67.0,
"h_rank": 210,
"avg_value": 0.2,
"avg_rank": 153.0,
"2b_value": 17.0,
"2b_rank": 130,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 12.0,
"hr_rank": 136,
"rbi_value": 33.0,
"rbi_rank": 215,
"tb_value": 120.0,
"tb_rank": 1290,
"bb_value": 43.0,
"bb_rank": 88,
"so_value": 104.0,
"so_rank": 73,
"sb_value": 15.0,
"sb_rank": 49,
"obp_value": 0.2976501,
"obp_rank": "134",
"slg_value": 0.3582089,
"slg_rank": "137",
"ops_value": 0.655859,
"ops_rank": 271.0,
"war_value": 0.46,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 369.0,
"k_percent": 27.0,
"bb_percent": 11.2,
"woba": 0.294,
"xwoba": 0.323,
"xba": 0.235,
"xslg": 0.401,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 10.4,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 20.4,
"whiff_percent": 28.1,
"swing_percent": 42.5
},
"components": {
"expected_quality": 0.428,
"regression_edge": 0.8286,
"xwoba_edge": 0.6,
"xba_edge": -0.0571,
"xslg_edge": 0.4714,
"barrel_edge": 0.8,
"hard_hit_edge": 0.05,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "624431",
"player_name": "Jose Trevino",
"offense_factor": 0.9484,
"quality_score": -0.6882,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "624431",
"espn_id": 35268,
"player_name": "Jose Trevino",
"team": "CIN",
"role": "batter",
"espn_rank": 359,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 359,
"gp_value": 33.0,
"gp_rank": 434,
"ab_value": 102.0,
"ab_rank": 413,
"r_value": 11.0,
"r_rank": 413,
"h_value": 25.0,
"h_rank": 389,
"avg_value": 0.245098,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 425,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 4.0,
"hr_rank": 310,
"rbi_value": 12.0,
"rbi_rank": 380,
"tb_value": 40.0,
"tb_rank": 2286,
"bb_value": 1.0,
"bb_rank": 541,
"so_value": 20.0,
"so_rank": 453,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.2524271,
"obp_rank": "-",
"slg_value": 0.3921568,
"slg_rank": "-",
"ops_value": 0.6445839,
"ops_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 98.0,
"k_percent": 19.0,
"bb_percent": 1.0,
"woba": 0.279,
"xwoba": 0.217,
"xba": 0.205,
"xslg": 0.286,
"sweet_spot_percent": 23.8,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 32.1,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 11.1,
"whiff_percent": 22.5,
"swing_percent": 50.7
},
"components": {
"expected_quality": -1.49,
"regression_edge": -1.7714,
"xwoba_edge": -2.4286,
"xba_edge": -0.9143,
"xslg_edge": -1.1714,
"barrel_edge": -0.9778,
"hard_hit_edge": -0.7929,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": -1.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "663647",
"player_name": "Ke'Bryan Hayes",
"offense_factor": 1.0329,
"quality_score": 0.4382,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663647",
"espn_id": 35020,
"player_name": "Ke'Bryan Hayes",
"team": "CIN",
"role": "batter",
"espn_rank": 543,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 543,
"gp_value": 74.0,
"gp_rank": 275,
"ab_value": 184.0,
"ab_rank": 308,
"r_value": 18.0,
"r_rank": 352,
"h_value": 28.0,
"h_rank": 380,
"avg_value": 0.1521739,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 460,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 5.0,
"hr_rank": 283,
"rbi_value": 8.0,
"rbi_rank": 435,
"tb_value": 47.0,
"tb_rank": 1935,
"bb_value": 10.0,
"bb_rank": 372,
"so_value": 38.0,
"so_rank": 338,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.2040816,
"obp_rank": "-",
"slg_value": 0.2554347,
"slg_rank": "-",
"ops_value": 0.4595163,
"ops_rank": null,
"war_value": -0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 186.0,
"k_percent": 19.4,
"bb_percent": 5.1,
"woba": 0.207,
"xwoba": 0.303,
"xba": 0.247,
"xslg": 0.402,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 39.0,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 15.4,
"whiff_percent": 23.7,
"swing_percent": 44.4
},
"components": {
"expected_quality": 0.2771,
"regression_edge": 2.0,
"xwoba_edge": 0.0286,
"xba_edge": 0.2857,
"xslg_edge": 0.4857,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.1929,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CIN | True | 120 | -0.6989 | 1 | 1.0594 | 0.9560 | 1.0020 | 1.0866 | neutral | 0.3690 | 0.3560 | 18 | 9.20 | 21.90 | 8.90 | 38.60 | |
| Home ARI | True | 9 | -0.3323 | 1 | 1.0282 | 0.9446 | 0.9720 | 1.0256 | negative_pitcher_regression | 0.3330 | 0.2990 | 17.30 | 7.70 | 20.60 | 8.30 | 35.20 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CIN | True | None | 83 | 89.69 | 2284 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0128 | |
| Home ARI | True | None | 97 | 88.31 | 2174 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0896 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0198 |
| home_runs_vs_away_pitcher | 1.0330 |
| home_pitcher_starter_only_factor | 1.0282 |
| away_pitcher_starter_only_factor | 1.0594 |
| home_pitcher_workload_share | 0.7037 |
| away_pitcher_workload_share | 0.5556 |
| home_pitcher_quality_edge | 0.1544 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "593958",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 587.0,
"k_percent": 17.3,
"bb_percent": 7.7,
"woba": 0.299,
"xwoba": 0.333,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 35.2,
"avg_best_speed": 76.8074,
"avg_hyper_speed": 93.5465,
"whiff_percent": 20.6,
"swing_percent": 48.0
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1819,
"command_and_miss": -0.485,
"regression_edge": -0.9714,
"xwoba_edge": -0.6,
"barrel_edge": -0.2667,
"hard_hit_edge": 0.3429,
"whiff_edge": -0.6857,
"bb_edge": 0.35,
"pitch_design_score": -0.0896
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "593958",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 97,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.31496087331494,
"release_spin_rate": 2173.5923303089457,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.31496087331494,
"release_spin_rate": 2173.5923303089457,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.315,
"release_spin_rate": 2173.5923,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0896,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6401,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3323,
"sample_weight": 1.0,
"run_prevention_factor": 1.0282,
"strikeout_factor": 0.9446,
"walk_factor": 0.972,
"homer_factor": 1.0256,
"woba_minus_xwoba": -0.034,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "593958",
"espn_id": 32675,
"player_name": "Eduardo Rodriguez",
"team": "ARI",
"role": "pitcher",
"espn_rank": 9,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 9,
"gp_value": 25.0,
"gp_rank": 246,
"gs_value": 25.0,
"gs_rank": 15,
"qs_value": 16.0,
"qs_rank": 4,
"era_value": 2.712,
"era_rank": 10.0,
"w_value": 12.0,
"w_rank": 9,
"l_value": 4.0,
"l_rank": 153,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 149.1,
"ip_rank": 9,
"h_value": 134.0,
"h_rank": 18,
"er_value": 45.0,
"er_rank": 102,
"hr_value": 14.0,
"hr_rank": 82,
"bb_value": 47.0,
"bb_rank": 29,
"k_value": 106.0,
"k_rank": 74,
"k_per_9_value": 6.388393,
"k_per_9_rank": 222.0,
"whip_value": 1.212,
"whip_rank": 32.0,
"war_value": 4.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "666157",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 288.0,
"k_percent": 18.0,
"bb_percent": 9.2,
"woba": 0.356,
"xwoba": 0.369,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 38.6,
"avg_best_speed": 79.7171,
"avg_hyper_speed": 94.628,
"whiff_percent": 21.9,
"swing_percent": 46.3
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.9709,
"command_and_miss": -0.45,
"regression_edge": -0.3714,
"xwoba_edge": -1.6286,
"barrel_edge": -0.4,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.5,
"bb_edge": -0.025,
"pitch_design_score": -0.0128
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666157",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.68649716669857,
"release_spin_rate": 2283.9120059292463,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.68649716669857,
"release_spin_rate": 2283.9120059292463,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6865,
"release_spin_rate": 2283.912,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0128,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0915,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6989,
"sample_weight": 1.0,
"run_prevention_factor": 1.0594,
"strikeout_factor": 0.956,
"walk_factor": 1.002,
"homer_factor": 1.0866,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666157",
"espn_id": 42433,
"player_name": "Nick Lodolo",
"team": "CIN",
"role": "pitcher",
"espn_rank": 120,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 120,
"gp_value": 14.0,
"gp_rank": 443,
"gs_value": 14.0,
"gs_rank": 130,
"qs_value": 3.0,
"qs_rank": 131,
"era_value": 4.5209,
"era_rank": null,
"w_value": 3.0,
"w_rank": 221,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 71.2,
"ip_rank": 151,
"h_value": 73.0,
"h_rank": 141,
"er_value": 36.0,
"er_rank": 145,
"hr_value": 12.0,
"hr_rank": 111,
"bb_value": 29.0,
"bb_rank": 143,
"k_value": 57.0,
"k_rank": 204,
"k_per_9_value": 7.158139,
"k_per_9_rank": 36.0,
"whip_value": 1.4232,
"whip_rank": null,
"war_value": 1.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0198,
"home_runs_vs_away_pitcher": 1.033,
"home_pitcher_starter_only_factor": 1.0282,
"away_pitcher_starter_only_factor": 1.0594,
"home_pitcher_workload_share": 0.7037,
"away_pitcher_workload_share": 0.5556,
"home_pitcher_quality_edge": 0.1544
},
"score_before": {
"away_runs": 2.2599,
"home_runs": 5.014
},
"score_after": {
"away_runs": 2.3048,
"home_runs": 5.1795,
"home_win_probability": 0.7471
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away CIN | 4-6 | 0.400 | 3.60 | 5.20 | -16 | 1L | average | weak |
| Home ARI | 5-5 | 0.500 | 4.60 | 4.50 | 1 | 1W | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CIN | 61-67 | 0.477 | -89 | -0.695 | True |
| Home ARI | 67-61 | 0.523 | 4 | 0.031 | True |
| Signal | - | - | 0.727 | 0.638 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-06-14 | ARI @ CIN | 5 - 3 | ARI | 2 | close |
| 2026-06-13 | ARI @ CIN | 1 - 2 | CIN | 1 | close |
| 2026-06-12 | ARI @ CIN | 5 - 2 | ARI | 3 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CIN | - | - | 3 | - | - | - | - |
| Game target ARI | - | - | 4 | - | - | - | - |
| Player finalized CIN | 31 | 7 | 4 | 1 | 4 | 3 | 10 |
| Player finalized ARI | 33 | 8 | 5 | 1 | 5 | 3 | 7 |
| Player model fractional CIN | 30.44 | 6.52 | 3.68 | 1.12 | 3.65 | 2.98 | 8.69 |
| Player model fractional ARI | 32.01 | 8.14 | 4.40 | 0.99 | 4.30 | 3.11 | 6.94 |
| Simulation box CIN | 34 | 7 | 3 | 1 | 3 | 3 | 10 |
| Simulation box ARI | 34 | 9 | 4 | 1 | 4 | 2 | 8 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away CIN | Starter | Nick Lodolo | 5 | 2 | 6 | 4 | 2 | 3.74 | 1.34 | True |
| Away CIN | Middle Reliever (High Leverage) | Brock Burke | 1 | 2 | 0 | 3 | 0 | 3.20 | 1.71 | True |
| Away CIN | Setup Man | Tejay Antone | 1 | 0 | 2 | 1 | 0 | 6.40 | 1.50 | True |
| Away CIN | Closer | Emilio Pagán | 1 | 0 | 0 | 1 | 0 | 3.75 | 1.01 | True |
| Home ARI | Starter | Eduardo Rodriguez | 6.10 | 3 | 5 | 6 | 2 | 3.24 | 1.22 | True |
| Home ARI | Setup Man | Brandyn Garcia | 1 | 0 | 3 | 0 | 1 | 3.68 | 1.11 | True |
| Home ARI | Closer | Juan Morillo | 1 | 0 | 1 | 1 | 0 | 2.11 | 0.86 | True |
| Home ARI | Middle Reliever (High Leverage) | Jonathan Loáisiga | 0.20 | 0 | 1 | 0 | 0 | 5.62 | 1.53 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CIN | batter | LF | Michael Toglia | better | 11 | 9 | 2 | 10 | 1 | predicted_RBI | 2.8750 | boost | better |
| home | ARI | batter | SS | Geraldo Perdomo | better | 9 | 6 | 3 | 7 | 2 | predicted_H | 2.3400 | boost | better |
| away | CIN | batter | RF | JJ Bleday | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.0730 | boost | worse |
| away | CIN | batter | SS | Elly De La Cruz | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.8020 | boost | worse |
| home | ARI | batter | 2B | Ildemaro Vargas | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.5000 | boost | better |
| home | ARI | batter | RF | Corbin Carroll | worse | 12 | 2 | 10 | 3 | 9 | predicted_AB | -1.4000 | deboost | worse |
| away | CIN | batter | 3B | Ke'Bryan Hayes | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.3830 | boost | worse |
| away | CIN | batter | C | Jose Trevino | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 1.3700 | boost | better |
| away | CIN | batter | 1B | Sal Stewart | worse | 9 | 4 | 5 | 3 | 6 | predicted_AB | -1.2000 | deboost | worse |
| home | ARI | batter | DH | Nolan Arenado | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.1930 | boost | worse |
| home | ARI | batter | C | Gabriel Moreno | worse | 10 | 2 | 8 | 1 | 9 | predicted_RBI | -1.1800 | deboost | worse |
| home | ARI | batter | 1B | Tim Tawa | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.1720 | boost | worse |
| home | ARI | batter | LF | Ryan Waldschmidt | better | 9 | 4 | 5 | 5 | 4 | predicted_H | 1.0830 | boost | better |
| away | CIN | batter | 2B | Matt McLain | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -1.0610 | deboost | better |
| home | ARI | pitcher | Starter | Eduardo Rodriguez | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | ARI | batter | CF | Jordan Lawlar | neutral | 8 | 4 | 4 | 4 | 4 | predicted_2B | 0.8670 | boost | better |
| home | ARI | batter | 3B | Jose Fernandez | better | 11 | 8 | 3 | 9 | 2 | predicted_2B | 0.8330 | boost | better |
| away | CIN | batter | CF | Dane Myers | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.7530 | deboost | better |
| away | CIN | batter | DH | Eugenio Suárez | worse | 11 | 2 | 9 | 3 | 8 | predicted_BB | 0.6320 | boost | better |
| home | ARI | pitcher | Middle Reliever (High Leverage) | Jonathan Loáisiga | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | CIN | pitcher | Closer | Emilio Pagán | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Nick Lodolo |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6989 |
| ESPN Rank | 120 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0128 |
| Avg Velo | 89.6865 |
| Avg Spin | 2283.9120 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 4 |
| Pre BB | 2 |
| Pre SO | 6 |
| Season ERA | 4.5209 |
| Season WHIP | 1.4233 |
| Role Avg IP | 5.1190 |
| Recent Avg IP | 5 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4766,
"runs_scored": 523.0,
"runs_allowed": 612.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.0859,
"avg_runs_allowed": 4.7812,
"offense_index": 0.9115,
"defense_index": 0.9375,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.2,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1402
},
"opponent": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234,
"runs_scored": 579.0,
"runs_allowed": 575.0,
"run_differential": 4.0,
"run_differential_per_game": 0.0312,
"avg_runs_scored": 4.5234,
"avg_runs_allowed": 4.4922,
"offense_index": 1.0091,
"defense_index": 0.9979,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0237
},
"edges": {
"quality_edge": -0.1639,
"offense_edge": -0.0885,
"opponent_offense_edge": 0.0091,
"defense_strength": -0.0625,
"opponent_defense_weakness": 0.0021,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9912,
"run_prevention": 1.0159,
"strikeout": 0.9944
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666157",
"profile": {
"available": true,
"pitcher_id": "666157",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 288.0,
"k_percent": 18.0,
"bb_percent": 9.2,
"woba": 0.356,
"xwoba": 0.369,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 38.6,
"avg_best_speed": 79.7171,
"avg_hyper_speed": 94.628,
"whiff_percent": 21.9,
"swing_percent": 46.3
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.9709,
"command_and_miss": -0.45,
"regression_edge": -0.3714,
"xwoba_edge": -1.6286,
"barrel_edge": -0.4,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.5,
"bb_edge": -0.025,
"pitch_design_score": -0.0128
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666157",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.68649716669857,
"release_spin_rate": 2283.9120059292463,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.68649716669857,
"release_spin_rate": 2283.9120059292463,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6865,
"release_spin_rate": 2283.912,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0128,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0915,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.6989,
"sample_weight": 1.0,
"run_prevention_factor": 1.0594,
"strikeout_factor": 0.956,
"walk_factor": 1.002,
"homer_factor": 1.0866,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666157",
"espn_id": 42433,
"player_name": "Nick Lodolo",
"team": "CIN",
"role": "pitcher",
"espn_rank": 120,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 120,
"gp_value": 14.0,
"gp_rank": 443,
"gs_value": 14.0,
"gs_rank": 130,
"qs_value": 3.0,
"qs_rank": 131,
"era_value": 4.5209,
"era_rank": null,
"w_value": 3.0,
"w_rank": 221,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 71.2,
"ip_rank": 151,
"h_value": 73.0,
"h_rank": 141,
"er_value": 36.0,
"er_rank": 145,
"hr_value": 12.0,
"hr_rank": 111,
"bb_value": 29.0,
"bb_rank": 143,
"k_value": 57.0,
"k_rank": 204,
"k_per_9_value": 7.158139,
"k_per_9_rank": 36.0,
"whip_value": 1.4232,
"whip_rank": null,
"war_value": 1.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0594,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0594,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.002,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0866,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.956,
"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": 50.2,
"ER": 23,
"H": 53,
"BB": 20,
"SO": 39,
"HR": 7,
"ERA": 4.0855263157894735,
"WHIP": 1.4407894736842106,
"K9": 6.927631578947369,
"HR9": 1.243421052631579,
"games_pitched": 10,
"quality_starts": 2,
"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-16T00:00:00"
}{
"available": true,
"pitcher_id": "666157",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.68649716669857,
"release_spin_rate": 2283.9120059292463,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 89.68649716669857,
"release_spin_rate": 2283.9120059292463,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6865,
"release_spin_rate": 2283.912,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0128,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0915,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "666157",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.0,
"ER": 7.0,
"R": 7.0,
"H": 20.0,
"BB": 11.0,
"SO": 19.0,
"HR": 4.0,
"BF": 105.0,
"Pitches": 414.0
},
"per_game": {
"IP": 5.0,
"ER": 1.4,
"R": 1.4,
"H": 4.0,
"BB": 2.2,
"SO": 3.8,
"HR": 0.8,
"BF": 21.0,
"Pitches": 82.8
},
"rates": {
"ERA": 2.52,
"WHIP": 1.24,
"ER_per_IP": 0.28,
"H_per_IP": 0.8,
"BB_per_IP": 0.44,
"SO_per_IP": 0.76,
"HR_per_IP": 0.16
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.2,
"ER": 23.0,
"R": 23.0,
"H": 53.0,
"BB": 20.0,
"SO": 39.0,
"HR": 7.0,
"BF": 224.0,
"Pitches": 870.0
},
"per_game": {
"IP": 5.0,
"ER": 2.3,
"R": 2.3,
"H": 5.3,
"BB": 2.0,
"SO": 3.9,
"HR": 0.7,
"BF": 22.4,
"Pitches": 87.0
},
"rates": {
"ERA": 4.0855,
"WHIP": 1.4408,
"ER_per_IP": 0.45395,
"H_per_IP": 1.04605,
"BB_per_IP": 0.39474,
"SO_per_IP": 0.76974,
"HR_per_IP": 0.13816
}
},
"season": {
"games": 14,
"totals": {
"IP": 71.2,
"ER": 36.0,
"R": 36.0,
"H": 73.0,
"BB": 29.0,
"SO": 57.0,
"HR": 12.0,
"BF": 316.0,
"Pitches": 1230.0
},
"per_game": {
"IP": 5.0,
"ER": 2.5714,
"R": 2.5714,
"H": 5.2143,
"BB": 2.0714,
"SO": 4.0714,
"HR": 0.8571,
"BF": 22.5714,
"Pitches": 87.8571
},
"rates": {
"ERA": 4.5209,
"WHIP": 1.4233,
"ER_per_IP": 0.50233,
"H_per_IP": 1.0186,
"BB_per_IP": 0.40465,
"SO_per_IP": 0.79535,
"HR_per_IP": 0.16744
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.079,
"predicted_H": 4.705,
"predicted_BB": 2.019,
"predicted_SO": 4.091,
"predicted_HR": 0.76,
"predicted_ERA": 3.7425,
"predicted_WHIP": 1.3448
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4612,
"form_weight": 0.5388,
"form_reliability": 0.7368,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.079,
"final": 2.0426,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.705,
"final": 4.3799,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.019,
"final": 2.0102,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.091,
"final": 4.9714,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.76,
"final": 0.8707,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7425,
"final": 3.7425,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3448,
"final": 1.3448,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brock Burke |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1542 |
| ESPN Rank | 225 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0938 |
| Avg Velo | 91.5903 |
| Avg Spin | 2238.7497 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.7287 |
| Season WHIP | 1.3404 |
| Role Avg IP | 0.9640 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4766,
"runs_scored": 523.0,
"runs_allowed": 612.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.0859,
"avg_runs_allowed": 4.7812,
"offense_index": 0.9115,
"defense_index": 0.9375,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.2,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1402
},
"opponent": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234,
"runs_scored": 579.0,
"runs_allowed": 575.0,
"run_differential": 4.0,
"run_differential_per_game": 0.0312,
"avg_runs_scored": 4.5234,
"avg_runs_allowed": 4.4922,
"offense_index": 1.0091,
"defense_index": 0.9979,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0237
},
"edges": {
"quality_edge": -0.1639,
"offense_edge": -0.0885,
"opponent_offense_edge": 0.0091,
"defense_strength": -0.0625,
"opponent_defense_weakness": 0.0021,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9912,
"run_prevention": 1.0159,
"strikeout": 0.9944
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656271",
"profile": {
"available": true,
"pitcher_id": "656271",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 246.0,
"k_percent": 23.2,
"bb_percent": 13.7,
"woba": 0.294,
"xwoba": 0.302,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 30.5,
"avg_best_speed": 77.1653,
"avg_hyper_speed": 93.159,
"whiff_percent": 28.8,
"swing_percent": 45.4
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.3053,
"command_and_miss": 0.0043,
"regression_edge": -0.2286,
"xwoba_edge": 0.2857,
"barrel_edge": -0.0889,
"hard_hit_edge": 1.0143,
"whiff_edge": 0.4857,
"bb_edge": -1.15,
"pitch_design_score": 0.0938
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656271",
"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": 91.59029913264476,
"release_spin_rate": 2238.749652618208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.59029913264476,
"release_spin_rate": 2238.749652618208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5903,
"release_spin_rate": 2238.7497,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0938,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.67,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1542,
"sample_weight": 0.984,
"run_prevention_factor": 0.9869,
"strikeout_factor": 1.0247,
"walk_factor": 1.0905,
"homer_factor": 0.9586,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656271",
"espn_id": 39945,
"player_name": "Brock Burke",
"team": "CIN",
"role": "pitcher",
"espn_rank": 225,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 225,
"gp_value": 65.0,
"gp_rank": 3,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.7287,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 5.0,
"l_rank": 119,
"sv_value": 2.0,
"sv_rank": 81,
"hld_value": 15.0,
"hld_rank": 28,
"ip_value": 62.2,
"ip_rank": 182,
"h_value": 47.0,
"h_rank": 219,
"er_value": 19.0,
"er_rank": 295,
"hr_value": 5.0,
"hr_rank": 285,
"bb_value": 37.0,
"bb_rank": 74,
"k_value": 63.0,
"k_rank": 176,
"k_per_9_value": 9.047873,
"k_per_9_rank": 26.0,
"whip_value": 1.3404,
"whip_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9871,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9871,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0891,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9593,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0243,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 4,
"H": 9,
"BB": 6,
"SO": 18,
"HR": 1,
"ERA": 3.6,
"WHIP": 1.5,
"K9": 16.2,
"HR9": 0.9,
"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-20T00:00:00"
}{
"available": true,
"pitcher_id": "656271",
"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": 91.59029913264476,
"release_spin_rate": 2238.749652618208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.59029913264476,
"release_spin_rate": 2238.749652618208,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5903,
"release_spin_rate": 2238.7497,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0938,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.67,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.563,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7153,
"prior_weight": 0.2847
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656271",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 65,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 7.0,
"H": 5.0,
"BB": 6.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 104.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 1.4,
"H": 1.0,
"BB": 1.2,
"SO": 1.6,
"HR": 0.0,
"BF": 5.4,
"Pitches": 20.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 2.3571,
"ER_per_IP": 0.21429,
"H_per_IP": 1.07143,
"BB_per_IP": 1.28571,
"SO_per_IP": 1.71429,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 10.0,
"H": 9.0,
"BB": 6.0,
"SO": 18.0,
"HR": 1.0,
"BF": 47.0,
"Pitches": 194.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 1.0,
"H": 0.9,
"BB": 0.6,
"SO": 1.8,
"HR": 0.1,
"BF": 4.7,
"Pitches": 19.4
},
"rates": {
"ERA": 3.6,
"WHIP": 1.5,
"ER_per_IP": 0.4,
"H_per_IP": 0.9,
"BB_per_IP": 0.6,
"SO_per_IP": 1.8,
"HR_per_IP": 0.1
}
},
"season": {
"games": 65,
"totals": {
"IP": 62.2,
"ER": 19.0,
"R": 32.0,
"H": 47.0,
"BB": 37.0,
"SO": 63.0,
"HR": 5.0,
"BF": 271.0,
"Pitches": 1027.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2923,
"R": 0.4923,
"H": 0.7231,
"BB": 0.5692,
"SO": 0.9692,
"HR": 0.0769,
"BF": 4.1692,
"Pitches": 15.8
},
"rates": {
"ERA": 2.7287,
"WHIP": 1.3404,
"ER_per_IP": 0.30319,
"H_per_IP": 0.75,
"BB_per_IP": 0.59043,
"SO_per_IP": 1.00532,
"HR_per_IP": 0.07979
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.355,
"predicted_H": 0.954,
"predicted_BB": 0.753,
"predicted_SO": 1.417,
"predicted_HR": 0.078,
"predicted_ERA": 3.1966,
"predicted_WHIP": 1.7071
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4703,
"form_weight": 0.5297,
"form_reliability": 0.7153,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 12.563,
"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": 2.0,
"form": 0.355,
"final": 1.1286,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.954,
"final": 1.9162,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.753,
"final": 0.3989,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.417,
"final": 0.7506,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.078,
"final": 0.0413,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1966,
"final": 3.1966,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7071,
"final": 1.7071,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tejay Antone |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1582 |
| ESPN Rank | 221 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2059 |
| Avg Velo | 86.2388 |
| Avg Spin | 2785.0757 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.5122 |
| Season WHIP | 1.0976 |
| Role Avg IP | 0.9760 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4766,
"runs_scored": 523.0,
"runs_allowed": 612.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.0859,
"avg_runs_allowed": 4.7812,
"offense_index": 0.9115,
"defense_index": 0.9375,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.2,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1402
},
"opponent": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234,
"runs_scored": 579.0,
"runs_allowed": 575.0,
"run_differential": 4.0,
"run_differential_per_game": 0.0312,
"avg_runs_scored": 4.5234,
"avg_runs_allowed": 4.4922,
"offense_index": 1.0091,
"defense_index": 0.9979,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0237
},
"edges": {
"quality_edge": -0.1639,
"offense_edge": -0.0885,
"opponent_offense_edge": 0.0091,
"defense_strength": -0.0625,
"opponent_defense_weakness": 0.0021,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9912,
"run_prevention": 1.0159,
"strikeout": 0.9944
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622088",
"profile": {
"available": true,
"pitcher_id": "622088",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 165.0,
"k_percent": 21.9,
"bb_percent": 7.9,
"woba": 0.289,
"xwoba": 0.292,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 34.5,
"avg_best_speed": 77.4547,
"avg_hyper_speed": 93.1681,
"whiff_percent": 26.6,
"swing_percent": 47.3
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4259,
"command_and_miss": 0.1007,
"regression_edge": -0.0857,
"xwoba_edge": 0.5714,
"barrel_edge": 0.0,
"hard_hit_edge": 0.4429,
"whiff_edge": 0.1714,
"bb_edge": 0.3,
"pitch_design_score": -0.2059
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622088",
"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": 86.23877461345165,
"release_spin_rate": 2785.075732449851,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.23877461345165,
"release_spin_rate": 2785.075732449851,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.2388,
"release_spin_rate": 2785.0757,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2059,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4706,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1582,
"sample_weight": 0.66,
"run_prevention_factor": 0.9866,
"strikeout_factor": 1.0034,
"walk_factor": 0.9842,
"homer_factor": 0.977,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622088",
"espn_id": 42355,
"player_name": "Tejay Antone",
"team": "CIN",
"role": "pitcher",
"espn_rank": 221,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 221,
"gp_value": 42.0,
"gp_rank": 122,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.5121,
"era_rank": null,
"w_value": 2.0,
"w_rank": 286,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 8.0,
"hld_rank": 97,
"ip_value": 41.0,
"ip_rank": 324,
"h_value": 32.0,
"h_rank": 358,
"er_value": 16.0,
"er_rank": 355,
"hr_value": 5.0,
"hr_rank": 285,
"bb_value": 13.0,
"bb_rank": 380,
"k_value": 39.0,
"k_rank": 323,
"k_per_9_value": 8.560976,
"k_per_9_rank": 26.0,
"whip_value": 1.0975,
"whip_rank": null,
"war_value": 0.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9912,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9912,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9848,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0022,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 8,
"H": 10,
"BB": 5,
"SO": 11,
"HR": 1,
"ERA": 8.0,
"WHIP": 1.6666666666666667,
"K9": 11.0,
"HR9": 1.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-20T00:00:00"
}{
"available": true,
"pitcher_id": "622088",
"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": 86.23877461345165,
"release_spin_rate": 2785.075732449851,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 86.23877461345165,
"release_spin_rate": 2785.075732449851,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.2388,
"release_spin_rate": 2785.0757,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.2059,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4706,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.219,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6218,
"prior_weight": 0.3782
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "622088",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 4.0,
"R": 5.0,
"H": 4.0,
"BB": 3.0,
"SO": 4.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 80.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 1.0,
"H": 0.8,
"BB": 0.6,
"SO": 0.8,
"HR": 0.2,
"BF": 4.2,
"Pitches": 16.0
},
"rates": {
"ERA": 9.0,
"WHIP": 1.75,
"ER_per_IP": 1.0,
"H_per_IP": 1.0,
"BB_per_IP": 0.75,
"SO_per_IP": 1.0,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 8.0,
"R": 9.0,
"H": 10.0,
"BB": 5.0,
"SO": 11.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 188.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.9,
"H": 1.0,
"BB": 0.5,
"SO": 1.1,
"HR": 0.1,
"BF": 4.5,
"Pitches": 18.8
},
"rates": {
"ERA": 8.0,
"WHIP": 1.6667,
"ER_per_IP": 0.88889,
"H_per_IP": 1.11111,
"BB_per_IP": 0.55556,
"SO_per_IP": 1.22222,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 42,
"totals": {
"IP": 41.0,
"ER": 16.0,
"R": 19.0,
"H": 32.0,
"BB": 13.0,
"SO": 39.0,
"HR": 5.0,
"BF": 177.0,
"Pitches": 692.0
},
"per_game": {
"IP": 1.0,
"ER": 0.381,
"R": 0.4524,
"H": 0.7619,
"BB": 0.3095,
"SO": 0.9286,
"HR": 0.119,
"BF": 4.2143,
"Pitches": 16.4762
},
"rates": {
"ERA": 3.5122,
"WHIP": 1.0976,
"ER_per_IP": 0.39024,
"H_per_IP": 0.78049,
"BB_per_IP": 0.31707,
"SO_per_IP": 0.95122,
"HR_per_IP": 0.12195
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.645,
"predicted_H": 0.894,
"predicted_BB": 0.461,
"predicted_SO": 0.929,
"predicted_HR": 0.15,
"predicted_ERA": 6.402,
"predicted_WHIP": 1.4952
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5098,
"form_weight": 0.4902,
"form_reliability": 0.6218,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.219,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6218,
"prior_weight": 0.3782
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.645,
"final": 0.3162,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.894,
"final": 0.948,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.461,
"final": 0.226,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.929,
"final": 1.475,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.15,
"final": 0.0735,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.402,
"final": 6.402,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4952,
"final": 1.4952,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Emilio Pagán |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0191 |
| ESPN Rank | 230 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0551 |
| Avg Velo | 90.8994 |
| Avg Spin | 2202.3587 |
| 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 | 4.2955 |
| Season WHIP | 1.0909 |
| Role Avg IP | 0.9780 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4766,
"runs_scored": 523.0,
"runs_allowed": 612.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.0859,
"avg_runs_allowed": 4.7812,
"offense_index": 0.9115,
"defense_index": 0.9375,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.2,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1402
},
"opponent": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234,
"runs_scored": 579.0,
"runs_allowed": 575.0,
"run_differential": 4.0,
"run_differential_per_game": 0.0312,
"avg_runs_scored": 4.5234,
"avg_runs_allowed": 4.4922,
"offense_index": 1.0091,
"defense_index": 0.9979,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0237
},
"edges": {
"quality_edge": -0.1639,
"offense_edge": -0.0885,
"opponent_offense_edge": 0.0091,
"defense_strength": -0.0625,
"opponent_defense_weakness": 0.0021,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9912,
"run_prevention": 1.0159,
"strikeout": 0.9944
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641941",
"profile": {
"available": true,
"pitcher_id": "641941",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 116.0,
"k_percent": 25.2,
"bb_percent": 7.3,
"woba": 0.303,
"xwoba": 0.299,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 10.1,
"hard_hit_percent": 48.1,
"avg_best_speed": 80.3426,
"avg_hyper_speed": 94.5702,
"whiff_percent": 28.7,
"swing_percent": 51.9
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1625,
"command_and_miss": 0.4479,
"regression_edge": 0.1143,
"xwoba_edge": 0.3714,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.5,
"whiff_edge": 0.4714,
"bb_edge": 0.45,
"pitch_design_score": 0.0551
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 90.89939100630117,
"release_spin_rate": 2202.358681546856,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 90.89939100630117,
"release_spin_rate": 2202.358681546856,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8994,
"release_spin_rate": 2202.3587,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0551,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3937,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0191,
"sample_weight": 0.464,
"run_prevention_factor": 0.9984,
"strikeout_factor": 1.0167,
"walk_factor": 0.9833,
"homer_factor": 1.0474,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641941",
"espn_id": 33403,
"player_name": "Emilio Pagan",
"team": "CIN",
"role": "pitcher",
"espn_rank": 230,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 230,
"gp_value": 31.0,
"gp_rank": 191,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 4.2954,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 16.0,
"sv_rank": 18,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 29.1,
"ip_rank": 411,
"h_value": 23.0,
"h_rank": 443,
"er_value": 14.0,
"er_rank": 392,
"hr_value": 5.0,
"hr_rank": 285,
"bb_value": 9.0,
"bb_rank": 474,
"k_value": 31.0,
"k_rank": 383,
"k_per_9_value": 9.511364,
"k_per_9_rank": 25.0,
"whip_value": 1.0909,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9993,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9993,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.022,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0077,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 6,
"BB": 1,
"SO": 12,
"HR": 1,
"ERA": 1.8,
"WHIP": 0.7,
"K9": 10.8,
"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": "641941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 90.89939100630117,
"release_spin_rate": 2202.358681546856,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 90.89939100630117,
"release_spin_rate": 2202.358681546856,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8994,
"release_spin_rate": 2202.3587,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0551,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3937,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.88,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5405,
"prior_weight": 0.4595
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "641941",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.0
},
"rates": {
"ERA": 3.6,
"WHIP": 0.6,
"ER_per_IP": 0.4,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 1.0,
"SO": 12.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.1,
"SO": 1.2,
"HR": 0.1,
"BF": 3.9,
"Pitches": 14.7
},
"rates": {
"ERA": 1.8,
"WHIP": 0.7,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.1,
"SO_per_IP": 1.2,
"HR_per_IP": 0.1
}
},
"season": {
"games": 30,
"totals": {
"IP": 29.1,
"ER": 14.0,
"R": 14.0,
"H": 23.0,
"BB": 9.0,
"SO": 31.0,
"HR": 5.0,
"BF": 123.0,
"Pitches": 483.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4667,
"R": 0.4667,
"H": 0.7667,
"BB": 0.3,
"SO": 1.0333,
"HR": 0.1667,
"BF": 4.1,
"Pitches": 16.1
},
"rates": {
"ERA": 4.2955,
"WHIP": 1.0909,
"ER_per_IP": 0.47727,
"H_per_IP": 0.78409,
"BB_per_IP": 0.30682,
"SO_per_IP": 1.05682,
"HR_per_IP": 0.17045
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.353,
"predicted_H": 0.629,
"predicted_BB": 0.228,
"predicted_SO": 0.824,
"predicted_HR": 0.13,
"predicted_ERA": 3.7531,
"predicted_WHIP": 1.0114
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5441,
"form_weight": 0.4559,
"form_reliability": 0.5405,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.88,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5405,
"prior_weight": 0.4595
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.353,
"final": 0.1609,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.629,
"final": 0.8309,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.228,
"final": 0.1039,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.824,
"final": 0.3756,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.13,
"final": 0.0593,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7531,
"final": 3.7531,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0114,
"final": 1.0114,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.179 | 0.000 | 0.000 | Hitting_2B | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_3B | 0.047 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 4.130 | 5.000 | 4.000 | Hitting_AB | 3.969 | 3.000 | 1.031 | 2.000 |
| predicted_AVG | 0.258 | 0.000 | 0.250 | Hitting_AVG | 0.271 | 0.333 | -0.271 | -0.333 |
| predicted_BB | 0.509 | 0.000 | 1.000 | Hitting_BB | 0.526 | 2.000 | -0.526 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_H | 1.060 | 0.000 | 1.000 | Hitting_H | 1.075 | 1.000 | -1.075 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_OBP | 0.352 | 0.000 | 0.400 | Hitting_OBP | 0.357 | 0.600 | -0.357 | -0.600 |
| predicted_R | 0.660 | 0.000 | 1.000 | Hitting_R | 0.692 | 1.000 | -0.692 | -1.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.607 | 0.000 | -0.607 | 0.000 |
| predicted_SLG | 0.412 | 0.000 | 0.250 | Hitting_SLG | 0.504 | 0.333 | -0.504 | -0.333 |
| predicted_SO | 1.198 | 3.000 | 1.000 | Hitting_SO | 1.204 | 1.000 | 1.796 | 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.1980 -> 3.0000 (boost 1.8020, worse) |
| Biggest Deboost | predicted_H: 1.0600 -> 0.0000 (deboost -1.0600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.1300 -> 3.9911 (deboost -0.1389, worse) | Final model input calibrated with local 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.3987 -> 0.4170 (boost 0.0183, better) | predicted_OBP: 0.3443 -> 0.3322 (deboost -0.0121, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 2 | 3 | predicted_BB: 0.5312 -> 1.0000 (boost 0.4688, better) | predicted_RBI: 0.4294 -> 0.0000 (deboost -0.4294, worse) | AB rounded to 4 (raw=4.13), rates preserved: AVG=0.235 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6171 -> 1.0000 (boost 0.3829, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4170 -> 0.4030 (deboost -0.0140, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4030 -> 0.4170 (boost 0.0140, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682829",
"player_name": "Elly De La Cruz",
"position": "SS",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.047,
"predicted_AB": 4.13,
"predicted_AVG": 0.258,
"predicted_BB": 0.509,
"predicted_H": 1.06,
"predicted_HR": 0.18,
"predicted_OBP": 0.352,
"predicted_R": 0.66,
"predicted_RBI": 0.46,
"predicted_SLG": 0.412,
"predicted_SO": 1.198
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1742,
"predicted_3B": 0.0383,
"predicted_AB": 3.9911,
"predicted_AVG": 0.2482,
"predicted_BB": 0.5358,
"predicted_H": 0.9891,
"predicted_HBP": 0.012,
"predicted_HR": 0.1502,
"predicted_OBP": 0.3443,
"predicted_R": 0.6375,
"predicted_RBI": 0.4436,
"predicted_SLG": 0.3987,
"predicted_SO": 1.1898
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1742,
"delta": -0.0048,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0383,
"delta": -0.0087,
"percent_delta": -0.1851,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 3.9911,
"delta": -0.1389,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2482,
"delta": -0.0098,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.509,
"after": 0.5358,
"delta": 0.0268,
"percent_delta": 0.0527,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.9891,
"delta": -0.0709,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1502,
"delta": -0.0298,
"percent_delta": -0.1656,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3443,
"delta": -0.0077,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.66,
"after": 0.6375,
"delta": -0.0225,
"percent_delta": -0.0341,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4436,
"delta": -0.0164,
"percent_delta": -0.0357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.3987,
"delta": -0.0133,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.198,
"after": 1.1898,
"delta": -0.0082,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.13,
"after": 3.9911,
"delta": -0.1389,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 106
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1742,
"predicted_3B": 0.0383,
"predicted_AB": 3.9911,
"predicted_AVG": 0.2433,
"predicted_BB": 0.5312,
"predicted_H": 0.9711,
"predicted_HBP": 0.012,
"predicted_HR": 0.1474,
"predicted_OBP": 0.3322,
"predicted_R": 0.6171,
"predicted_RBI": 0.4294,
"predicted_SLG": 0.417,
"predicted_SO": 1.1999
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1742,
"after": 0.1742,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0383,
"after": 0.0383,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9911,
"after": 3.9911,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2482,
"after": 0.2433,
"delta": -0.0049,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5358,
"after": 0.5312,
"delta": -0.0046,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9891,
"after": 0.9711,
"delta": -0.018,
"percent_delta": -0.0182,
"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.1502,
"after": 0.1474,
"delta": -0.0028,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3443,
"after": 0.3322,
"delta": -0.0121,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6375,
"after": 0.6171,
"delta": -0.0204,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4436,
"after": 0.4294,
"delta": -0.0142,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3987,
"after": 0.417,
"delta": 0.0183,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1898,
"after": 1.1999,
"delta": 0.0101,
"percent_delta": 0.0085,
"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.3987,
"after": 0.417,
"delta": 0.0183,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3443,
"after": 0.3322,
"delta": -0.0121,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.13), rates preserved: AVG=0.235 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1742,
"after": 0.0,
"delta": -0.1742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0383,
"after": 0.0,
"delta": -0.0383,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9911,
"after": 4.0,
"delta": 0.0089,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5312,
"after": 1.0,
"delta": 0.4688,
"percent_delta": 0.8825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9711,
"after": 1.0,
"delta": 0.0289,
"percent_delta": 0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1474,
"after": 0.0,
"delta": -0.1474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4294,
"after": 0.0,
"delta": -0.4294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1999,
"after": 1.0,
"delta": -0.1999,
"percent_delta": -0.1666,
"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.5312,
"after": 1.0,
"delta": 0.4688,
"percent_delta": 0.8825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4294,
"after": 0.0,
"delta": -0.4294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6171,
"after": 1.0,
"delta": 0.3829,
"percent_delta": 0.6205,
"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.6171,
"after": 1.0,
"delta": 0.3829,
"percent_delta": 0.6205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_R",
"before": 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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.235,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.327,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.403,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2433,
"after": 0.235,
"delta": -0.0083,
"percent_delta": -0.0341,
"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.3322,
"after": 0.327,
"delta": -0.0052,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.403,
"delta": -0.014,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.417,
"after": 0.403,
"delta": -0.014,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 5.0,
"predicted_AVG": 0.2433,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3322,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.417,
"predicted_SO": 3.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.235,
"after": 0.2433,
"delta": 0.0083,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3322,
"delta": 0.0052,
"percent_delta": 0.0159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.417,
"delta": 0.014,
"percent_delta": 0.0346,
"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.403,
"after": 0.417,
"delta": 0.014,
"percent_delta": 0.0346,
"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.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 5.0,
"delta": 0.87,
"percent_delta": 0.2107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2433,
"delta": -0.0147,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.509,
"after": 0.0,
"delta": -0.509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3322,
"delta": -0.0198,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.417,
"delta": 0.005,
"percent_delta": 0.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.198,
"after": 3.0,
"delta": 1.802,
"percent_delta": 1.5042,
"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.198,
"after": 3.0,
"delta": 1.802,
"percent_delta": 1.5042,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | - |
| predicted_3B | 0.047 | - |
| predicted_AB | 4.130 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.509 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.352 | - |
| predicted_R | 0.660 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.412 | - |
| predicted_SO | 1.198 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | -0.005 |
| predicted_3B | 0.038 | -0.009 |
| predicted_AB | 3.991 | -0.139 |
| predicted_AVG | 0.248 | -0.010 |
| predicted_BB | 0.536 | 0.027 |
| predicted_H | 0.989 | -0.071 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.150 | -0.030 |
| predicted_OBP | 0.344 | -0.008 |
| predicted_R | 0.637 | -0.023 |
| predicted_RBI | 0.444 | -0.016 |
| predicted_SLG | 0.399 | -0.013 |
| predicted_SO | 1.190 | -0.008 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 3.991 | 0.000 |
| predicted_AVG | 0.243 | -0.005 |
| predicted_BB | 0.531 | -0.005 |
| predicted_H | 0.971 | -0.018 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.147 | -0.003 |
| predicted_OBP | 0.332 | -0.012 |
| predicted_R | 0.617 | -0.020 |
| predicted_RBI | 0.429 | -0.014 |
| predicted_SLG | 0.417 | 0.018 |
| predicted_SO | 1.200 | 0.010 |
AB rounded to 4 (raw=4.13), rates preserved: AVG=0.235 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.174 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 4.000 | 0.009 |
| predicted_AVG | 0.235 | -0.008 |
| predicted_BB | 1.000 | 0.469 |
| predicted_H | 1.000 | 0.029 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.327 | -0.005 |
| predicted_R | 1.000 | 0.383 |
| predicted_RBI | 0.000 | -0.429 |
| predicted_SLG | 0.403 | -0.014 |
| 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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 6.000 | 0.2222 | 0.3636 | 0.2778 | 0.2222 | 0.0000 | 0.0556 | 0.2222 | 0.3333 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 1.000 | 0.000 | 0.000 | 3.000 | 5.000 | 6.000 | 12.000 | 0.1622 | 0.2727 | 0.1892 | 0.1622 | 0.0000 | 0.0811 | 0.1622 | 0.3243 |
| season | 0.60 | 106 | - | 415.000 | 109.000 | 19.000 | 5.000 | 20.000 | 57.000 | 70.000 | 54.000 | 127.000 | 0.2627 | 0.3481 | 0.4771 | 0.2626 | 0.0482 | 0.1373 | 0.1301 | 0.3060 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.8090 |
| predicted_AVG | 0.2353 |
| predicted_BB | 0.5710 |
| predicted_H | 0.8960 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1110 |
| predicted_OBP | 0.3343 |
| predicted_R | 0.6080 |
| predicted_RBI | 0.4220 |
| predicted_SLG | 0.3813 |
| predicted_SO | 1.1790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.1680 | 0.1742 | model_form_blend |
| predicted_3B | 0.0470 | 0.0270 | 0.0383 | model_form_blend |
| predicted_AB | 4.1300 | 3.8090 | 3.9911 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2353 | 0.2482 | model_form_blend |
| predicted_BB | 0.5090 | 0.5710 | 0.5358 | model_form_blend |
| predicted_H | 1.0600 | 0.8960 | 0.9891 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1800 | 0.1110 | 0.1502 | model_form_blend |
| predicted_OBP | 0.3520 | 0.3343 | 0.3443 | model_form_blend |
| predicted_R | 0.6600 | 0.6080 | 0.6375 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4220 | 0.4436 | model_form_blend |
| predicted_SLG | 0.4120 | 0.3813 | 0.3987 | model_form_blend |
| predicted_SO | 1.1980 | 1.1790 | 1.1898 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 481 |
| Season rows before report date | 481 |
| Report year | 2026 |
| Profile rows used | 106 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 682829 |
| playerID | 682829 |
| playerName | Elly De La Cruz |
| pos | SS |
| started | True |
| startingPosition | DH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.352 |
| sl_xwoba | 0.358 |
| sl_xba | 0.267 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 13.7 |
| sl_hard_hit_percent | 51.3 |
| sl_exit_velocity_avg | 93.8 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 41.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.168 | 0.000 | 1.000 | Hitting_2B | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.526 | 3.000 | 4.000 | Hitting_AB | 3.597 | 1.000 | -0.597 | 2.000 |
| predicted_AVG | 0.309 | 0.333 | 0.250 | Hitting_AVG | 0.221 | 1.000 | 0.112 | -0.667 |
| predicted_BB | 0.368 | 1.000 | 1.000 | Hitting_BB | 0.379 | 0.000 | 0.621 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 0.550 | 1.000 | 1.000 | Hitting_H | 0.795 | 1.000 | 0.205 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_OBP | 0.370 | 0.500 | 0.400 | Hitting_OBP | 0.299 | 1.000 | 0.201 | -0.500 |
| predicted_R | 0.347 | 0.000 | 0.000 | Hitting_R | 0.353 | 1.000 | -0.353 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.564 | 1.000 | -0.564 | -1.000 |
| predicted_SLG | 0.490 | 0.333 | 0.500 | Hitting_SLG | 0.431 | 1.000 | -0.098 | -0.667 |
| predicted_SO | 1.432 | 1.000 | 2.000 | Hitting_SO | 1.449 | 0.000 | -0.449 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3680 -> 1.0000 (boost 0.6320, better) |
| Biggest Deboost | predicted_AB: 3.5260 -> 3.0000 (deboost -0.5260, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 3 | 5 | 4 | 4 | predicted_H: 0.5500 -> 0.6871 (boost 0.1371, better) | predicted_AB: 3.5260 -> 3.4116 (deboost -0.1144, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4789 -> 0.3600 (deboost -0.1189, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_SO: 1.3677 -> 2.0000 (boost 0.6323, worse) | predicted_BB: 0.4145 -> 0.0000 (deboost -0.4145, worse) | AB rounded to 4 (raw=3.53), rates preserved: AVG=0.191 HR/AB=0.035 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3529 -> 0.0000 (deboost -0.3529, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3420 -> 0.3600 (boost 0.0180, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"position": "DH",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.168,
"predicted_3B": 0.0,
"predicted_AB": 3.526,
"predicted_AVG": 0.309,
"predicted_BB": 0.368,
"predicted_H": 0.55,
"predicted_HR": 0.11,
"predicted_OBP": 0.37,
"predicted_R": 0.347,
"predicted_RBI": 0.44,
"predicted_SLG": 0.49,
"predicted_SO": 1.432
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1847,
"predicted_3B": 0.0004,
"predicted_AB": 3.4116,
"predicted_AVG": 0.291,
"predicted_BB": 0.4181,
"predicted_H": 0.6871,
"predicted_HBP": 0.043,
"predicted_HR": 0.125,
"predicted_OBP": 0.3619,
"predicted_R": 0.3646,
"predicted_RBI": 0.4927,
"predicted_SLG": 0.4789,
"predicted_SO": 1.3562
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.1847,
"delta": 0.0167,
"percent_delta": 0.0994,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.526,
"after": 3.4116,
"delta": -0.1144,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.291,
"delta": -0.018,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.4181,
"delta": 0.0501,
"percent_delta": 0.1361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 0.6871,
"delta": 0.1371,
"percent_delta": 0.2493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.125,
"delta": 0.015,
"percent_delta": 0.1364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.3619,
"delta": -0.0081,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.347,
"after": 0.3646,
"delta": 0.0176,
"percent_delta": 0.0507,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4927,
"delta": 0.0527,
"percent_delta": 0.1198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4789,
"delta": -0.0111,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.432,
"after": 1.3562,
"delta": -0.0758,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.55,
"after": 0.6871,
"delta": 0.1371,
"percent_delta": 0.2493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.526,
"after": 3.4116,
"delta": -0.1144,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 95
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1847,
"predicted_3B": 0.0004,
"predicted_AB": 3.4116,
"predicted_AVG": 0.1977,
"predicted_BB": 0.4145,
"predicted_H": 0.6746,
"predicted_HBP": 0.043,
"predicted_HR": 0.1227,
"predicted_OBP": 0.2847,
"predicted_R": 0.3529,
"predicted_RBI": 0.4769,
"predicted_SLG": 0.36,
"predicted_SO": 1.3677
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1847,
"after": 0.1847,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4116,
"after": 3.4116,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.1977,
"delta": -0.0933,
"percent_delta": -0.3206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4181,
"after": 0.4145,
"delta": -0.0036,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6871,
"after": 0.6746,
"delta": -0.0125,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.125,
"after": 0.1227,
"delta": -0.0023,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3619,
"after": 0.2847,
"delta": -0.0772,
"percent_delta": -0.2133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3646,
"after": 0.3529,
"delta": -0.0117,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4927,
"after": 0.4769,
"delta": -0.0158,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4789,
"after": 0.36,
"delta": -0.1189,
"percent_delta": -0.2483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3562,
"after": 1.3677,
"delta": 0.0115,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4789,
"after": 0.36,
"delta": -0.1189,
"percent_delta": -0.2483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.53), rates preserved: AVG=0.191 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1847,
"after": 0.0,
"delta": -0.1847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4116,
"after": 4.0,
"delta": 0.5884,
"percent_delta": 0.1725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4145,
"after": 0.0,
"delta": -0.4145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6746,
"after": 1.0,
"delta": 0.3254,
"percent_delta": 0.4824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1227,
"after": 0.0,
"delta": -0.1227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4769,
"after": 1.0,
"delta": 0.5231,
"percent_delta": 1.0969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3677,
"after": 2.0,
"delta": 0.6323,
"percent_delta": 0.4623,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.3677,
"after": 2.0,
"delta": 0.6323,
"percent_delta": 0.4623,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4145,
"after": 0.0,
"delta": -0.4145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9158,
"bvp": 0.0842
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.3529,
"after": 0.0,
"delta": -0.3529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3529,
"after": 0.0,
"delta": -0.3529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.186,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.284,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.342,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1977,
"after": 0.186,
"delta": -0.0117,
"percent_delta": -0.0592,
"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.2847,
"after": 0.284,
"delta": -0.0007,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.36,
"after": 0.342,
"delta": -0.018,
"percent_delta": -0.05,
"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_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "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.1977,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2847,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.36,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.186,
"after": 0.1977,
"delta": 0.0117,
"percent_delta": 0.0631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2847,
"delta": 0.0007,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.36,
"delta": 0.018,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.36,
"delta": 0.018,
"percent_delta": 0.0526,
"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.168,
"after": 0.0,
"delta": -0.168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.526,
"after": 3.0,
"delta": -0.526,
"percent_delta": -0.1492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.1977,
"delta": -0.1113,
"percent_delta": -0.3602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 1.0,
"delta": 0.632,
"percent_delta": 1.7174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.2847,
"delta": -0.0853,
"percent_delta": -0.2305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.347,
"after": 0.0,
"delta": -0.347,
"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.49,
"after": 0.36,
"delta": -0.13,
"percent_delta": -0.2653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.432,
"after": 1.0,
"delta": -0.432,
"percent_delta": -0.3017,
"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.368,
"after": 1.0,
"delta": 0.632,
"percent_delta": 1.7174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.526,
"after": 3.0,
"delta": -0.526,
"percent_delta": -0.1492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.526 | - |
| predicted_AVG | 0.309 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 0.550 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.370 | - |
| predicted_R | 0.347 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.490 | - |
| predicted_SO | 1.432 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.412 | -0.114 |
| predicted_AVG | 0.291 | -0.018 |
| predicted_BB | 0.418 | 0.050 |
| predicted_H | 0.687 | 0.137 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.125 | 0.015 |
| predicted_OBP | 0.362 | -0.008 |
| predicted_R | 0.365 | 0.018 |
| predicted_RBI | 0.493 | 0.053 |
| predicted_SLG | 0.479 | -0.011 |
| predicted_SO | 1.356 | -0.076 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.412 | 0.000 |
| predicted_AVG | 0.198 | -0.093 |
| predicted_BB | 0.414 | -0.004 |
| predicted_H | 0.675 | -0.013 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.123 | -0.002 |
| predicted_OBP | 0.285 | -0.077 |
| predicted_R | 0.353 | -0.012 |
| predicted_RBI | 0.477 | -0.016 |
| predicted_SLG | 0.360 | -0.119 |
| predicted_SO | 1.368 | 0.011 |
AB rounded to 4 (raw=3.53), rates preserved: AVG=0.191 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 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.185 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.588 |
| predicted_AVG | 0.186 | -0.012 |
| predicted_BB | 1.000 | 0.586 |
| predicted_H | 1.000 | 0.325 |
| predicted_HR | 0.000 | -0.123 |
| predicted_OBP | 0.284 | -0.001 |
| predicted_R | 0.000 | -0.353 |
| predicted_RBI | 1.000 | 0.523 |
| predicted_SLG | 0.342 | -0.018 |
| predicted_SO | 2.000 | 0.632 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 4.000 | 5.000 | 0.4167 | 0.5294 | 0.5000 | 0.4167 | 0.0000 | 0.1667 | 0.3333 | 0.4167 |
| last_10 | 0.20 | 10 | - | 31.000 | 9.000 | 3.000 | 0.000 | 2.000 | 8.000 | 4.000 | 4.000 | 11.000 | 0.2903 | 0.3684 | 0.5806 | 0.2903 | 0.0645 | 0.2581 | 0.1290 | 0.3548 |
| season | 0.60 | 95 | - | 335.000 | 71.000 | 16.000 | 0.000 | 18.000 | 51.000 | 33.000 | 35.000 | 136.000 | 0.2119 | 0.2918 | 0.4209 | 0.2119 | 0.0537 | 0.1522 | 0.1045 | 0.4060 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2070 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2590 |
| predicted_AVG | 0.2670 |
| predicted_BB | 0.4850 |
| predicted_H | 0.8700 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.3510 |
| predicted_R | 0.3880 |
| predicted_RBI | 0.5630 |
| predicted_SLG | 0.4642 |
| predicted_SO | 1.2550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.2070 | 0.1847 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5260 | 3.2590 | 3.4116 | model_form_blend |
| predicted_AVG | 0.3090 | 0.2670 | 0.2910 | model_form_blend |
| predicted_BB | 0.3680 | 0.4850 | 0.4181 | model_form_blend |
| predicted_H | 0.5500 | 0.8700 | 0.6871 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.1100 | 0.1450 | 0.1250 | model_form_blend |
| predicted_OBP | 0.3700 | 0.3510 | 0.3619 | model_form_blend |
| predicted_R | 0.3470 | 0.3880 | 0.3646 | model_form_blend |
| predicted_RBI | 0.4400 | 0.5630 | 0.4927 | model_form_blend |
| predicted_SLG | 0.4900 | 0.4642 | 0.4789 | model_form_blend |
| predicted_SO | 1.4320 | 1.2550 | 1.3562 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 385 |
| Season rows before report date | 385 |
| Report year | 2026 |
| Profile rows used | 95 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260820_STL@CIN |
| game_type | ph |
| mlbID | 553993 |
| note | Singled for Hayes in the 9th. |
| playerID | 553993 |
| playerName | Eugenio Suárez |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 35.9 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.306 |
| sl_xwoba | 0.278 |
| sl_xba | 0.192 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 34.8 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.135 | 0.000 | 0.000 | Hitting_2B | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.562 | 4.000 | 4.000 | Hitting_AB | 3.662 | 3.000 | 0.338 | 1.000 |
| predicted_AVG | 0.225 | 0.000 | 0.250 | Hitting_AVG | 0.229 | 0.333 | -0.229 | -0.333 |
| predicted_BB | 0.594 | 0.000 | 1.000 | Hitting_BB | 0.596 | 2.000 | -0.596 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.802 | 0.000 | 1.000 | Hitting_H | 0.838 | 1.000 | -0.838 | -1.000 |
| predicted_HR | 0.208 | 0.000 | 1.000 | Hitting_HR | 0.225 | 0.000 | -0.225 | 0.000 |
| predicted_OBP | 0.336 | 0.000 | 0.400 | Hitting_OBP | 0.338 | 0.600 | -0.338 | -0.600 |
| predicted_R | 0.490 | 0.000 | 1.000 | Hitting_R | 0.520 | 1.000 | -0.520 | -1.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.532 | 1.000 | -0.532 | -1.000 |
| predicted_SLG | 0.444 | 0.000 | 1.000 | Hitting_SLG | 0.459 | 0.333 | -0.459 | -0.333 |
| predicted_SO | 0.927 | 3.000 | 1.000 | Hitting_SO | 0.963 | 1.000 | 2.037 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.9270 -> 3.0000 (boost 2.0730, worse) |
| Biggest Deboost | predicted_H: 0.8020 -> 0.0000 (deboost -0.8020, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_RBI: 0.5000 -> 0.4424 (deboost -0.0576, worse) | Final model input calibrated with local 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.4068 -> 0.4001 (deboost -0.0067, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_AB: 3.5513 -> 4.0000 (boost 0.4487, better) | predicted_RBI: 0.4282 -> 0.0000 (deboost -0.4282, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.218 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4448 -> 0.0000 (deboost -0.4448, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 3 | 3 | 0 | 3 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668709",
"player_name": "JJ Bleday",
"position": "RF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.135,
"predicted_3B": 0.01,
"predicted_AB": 3.562,
"predicted_AVG": 0.225,
"predicted_BB": 0.594,
"predicted_H": 0.802,
"predicted_HR": 0.208,
"predicted_OBP": 0.336,
"predicted_R": 0.49,
"predicted_RBI": 0.5,
"predicted_SLG": 0.444,
"predicted_SO": 0.927
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1221,
"predicted_3B": 0.0087,
"predicted_AB": 3.5513,
"predicted_AVG": 0.2222,
"predicted_BB": 0.5858,
"predicted_H": 0.7895,
"predicted_HBP": 0.014,
"predicted_HR": 0.1719,
"predicted_OBP": 0.3331,
"predicted_R": 0.4595,
"predicted_RBI": 0.4424,
"predicted_SLG": 0.4068,
"predicted_SO": 0.9455
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.1221,
"delta": -0.0129,
"percent_delta": -0.0956,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.562,
"after": 3.5513,
"delta": -0.0107,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2222,
"delta": -0.0028,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.594,
"after": 0.5858,
"delta": -0.0082,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.802,
"after": 0.7895,
"delta": -0.0125,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.208,
"after": 0.1719,
"delta": -0.0361,
"percent_delta": -0.1736,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3331,
"delta": -0.0029,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 0.4595,
"delta": -0.0305,
"percent_delta": -0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4424,
"delta": -0.0576,
"percent_delta": -0.1152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4068,
"delta": -0.0372,
"percent_delta": -0.0838,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 0.9455,
"delta": 0.0185,
"percent_delta": 0.02,
"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_RBI",
"before": 0.5,
"after": 0.4424,
"delta": -0.0576,
"percent_delta": -0.1152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 96
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1221,
"predicted_3B": 0.0087,
"predicted_AB": 3.5513,
"predicted_AVG": 0.2183,
"predicted_BB": 0.5808,
"predicted_H": 0.7751,
"predicted_HBP": 0.014,
"predicted_HR": 0.1687,
"predicted_OBP": 0.3281,
"predicted_R": 0.4448,
"predicted_RBI": 0.4282,
"predicted_SLG": 0.4001,
"predicted_SO": 0.9535
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1221,
"after": 0.1221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5513,
"after": 3.5513,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2222,
"after": 0.2183,
"delta": -0.0039,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5858,
"after": 0.5808,
"delta": -0.005,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7895,
"after": 0.7751,
"delta": -0.0144,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1719,
"after": 0.1687,
"delta": -0.0032,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3331,
"after": 0.3281,
"delta": -0.005,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4595,
"after": 0.4448,
"delta": -0.0147,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4424,
"after": 0.4282,
"delta": -0.0142,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4068,
"after": 0.4001,
"delta": -0.0067,
"percent_delta": -0.0165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9455,
"after": 0.9535,
"delta": 0.008,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4068,
"after": 0.4001,
"delta": -0.0067,
"percent_delta": -0.0165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.218 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1221,
"after": 0.0,
"delta": -0.1221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5513,
"after": 4.0,
"delta": 0.4487,
"percent_delta": 0.1263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5808,
"after": 1.0,
"delta": 0.4192,
"percent_delta": 0.7218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7751,
"after": 1.0,
"delta": 0.2249,
"percent_delta": 0.2902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1687,
"after": 0.0,
"delta": -0.1687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4282,
"after": 0.0,
"delta": -0.4282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9535,
"after": 1.0,
"delta": 0.0465,
"percent_delta": 0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5513,
"after": 4.0,
"delta": 0.4487,
"percent_delta": 0.1263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4282,
"after": 0.0,
"delta": -0.4282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4448,
"after": 0.0,
"delta": -0.4448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4448,
"after": 0.0,
"delta": -0.4448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.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": 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_SO",
"before": 1.0,
"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": 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.218,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.332,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.399,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2183,
"after": 0.218,
"delta": -0.0003,
"percent_delta": -0.0014,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3281,
"after": 0.332,
"delta": 0.0039,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4001,
"after": 0.399,
"delta": -0.0011,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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_HR",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2183,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3281,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4001,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2183,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3281,
"delta": -0.0039,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.4001,
"delta": 0.0011,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.562,
"after": 4.0,
"delta": 0.438,
"percent_delta": 0.123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2183,
"delta": -0.0067,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.594,
"after": 0.0,
"delta": -0.594,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.802,
"after": 0.0,
"delta": -0.802,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3281,
"delta": -0.0079,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4001,
"delta": -0.0439,
"percent_delta": -0.0989,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 3.0,
"delta": 2.073,
"percent_delta": 2.2362,
"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.927,
"after": 3.0,
"delta": 2.073,
"percent_delta": 2.2362,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.802,
"after": 0.0,
"delta": -0.802,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.562 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.594 | - |
| predicted_H | 0.802 | - |
| predicted_HR | 0.208 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.490 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.444 | - |
| predicted_SO | 0.927 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | -0.013 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.551 | -0.011 |
| predicted_AVG | 0.222 | -0.003 |
| predicted_BB | 0.586 | -0.008 |
| predicted_H | 0.789 | -0.013 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.172 | -0.036 |
| predicted_OBP | 0.333 | -0.003 |
| predicted_R | 0.460 | -0.030 |
| predicted_RBI | 0.442 | -0.058 |
| predicted_SLG | 0.407 | -0.037 |
| predicted_SO | 0.946 | 0.018 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.551 | 0.000 |
| predicted_AVG | 0.218 | -0.004 |
| predicted_BB | 0.581 | -0.005 |
| predicted_H | 0.775 | -0.014 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.169 | -0.003 |
| predicted_OBP | 0.328 | -0.005 |
| predicted_R | 0.445 | -0.015 |
| predicted_RBI | 0.428 | -0.014 |
| predicted_SLG | 0.400 | -0.007 |
| predicted_SO | 0.954 | 0.008 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.218 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 | 1.000 | 1.000 |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.449 |
| predicted_AVG | 0.218 | -0.000 |
| predicted_BB | 1.000 | 0.419 |
| predicted_H | 1.000 | 0.225 |
| predicted_HR | 0.000 | -0.169 |
| predicted_OBP | 0.332 | 0.004 |
| predicted_R | 0.000 | -0.445 |
| predicted_RBI | 0.000 | -0.428 |
| predicted_SLG | 0.399 | -0.001 |
| predicted_SO | 1.000 | 0.046 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 6.000 | 0.2353 | 0.3500 | 0.2353 | 0.2353 | 0.0000 | 0.0588 | 0.1765 | 0.3529 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 6.000 | 9.000 | 0.1714 | 0.2927 | 0.2000 | 0.1714 | 0.0000 | 0.0286 | 0.1714 | 0.2571 |
| season | 0.60 | 96 | - | 342.000 | 77.000 | 13.000 | 1.000 | 20.000 | 48.000 | 47.000 | 57.000 | 89.000 | 0.2251 | 0.3375 | 0.4444 | 0.2251 | 0.0585 | 0.1404 | 0.1667 | 0.2602 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.5370 |
| predicted_AVG | 0.2186 |
| predicted_BB | 0.5750 |
| predicted_H | 0.7730 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.3293 |
| predicted_R | 0.4190 |
| predicted_RBI | 0.3660 |
| predicted_SLG | 0.3575 |
| predicted_SO | 0.9700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.1050 | 0.1221 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 3.5620 | 3.5370 | 3.5513 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2186 | 0.2222 | model_form_blend |
| predicted_BB | 0.5940 | 0.5750 | 0.5858 | model_form_blend |
| predicted_H | 0.8020 | 0.7730 | 0.7895 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.2080 | 0.1240 | 0.1719 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3293 | 0.3331 | model_form_blend |
| predicted_R | 0.4900 | 0.4190 | 0.4595 | model_form_blend |
| predicted_RBI | 0.5000 | 0.3660 | 0.4424 | model_form_blend |
| predicted_SLG | 0.4440 | 0.3575 | 0.4068 | model_form_blend |
| predicted_SO | 0.9270 | 0.9700 | 0.9455 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 408 |
| Season rows before report date | 408 |
| Report year | 2026 |
| Profile rows used | 96 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-RF |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 668709 |
| playerID | 668709 |
| playerName | JJ Bleday |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.337 |
| sl_xwoba | 0.347 |
| sl_xba | 0.239 |
| sl_xslg | 0.431 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 40.8 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 22.8 |
| sl_whiff_percent | 26.6 |
| sl_swing_percent | 46.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.104 | 0.000 | 0.000 | Hitting_2B | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.680 | 3.000 | 3.000 | Hitting_AB | 2.842 | 3.000 | 0.158 | 0.000 |
| predicted_AVG | 0.248 | 0.000 | 0.333 | Hitting_AVG | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_BB | 0.325 | 1.000 | 0.000 | Hitting_BB | 0.486 | 1.000 | 0.514 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 0.000 | 1.000 | Hitting_H | 0.692 | 0.000 | -0.692 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.337 | 0.250 | 0.333 | Hitting_OBP | 0.360 | 0.250 | -0.110 | 0.000 |
| predicted_R | 0.299 | 0.000 | 0.000 | Hitting_R | 0.405 | 1.000 | -0.405 | -1.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_SLG | 0.376 | 0.000 | 0.333 | Hitting_SLG | 0.358 | 0.000 | -0.358 | 0.000 |
| predicted_SO | 0.753 | 0.000 | 1.000 | Hitting_SO | 0.858 | 0.000 | -0.858 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3250 -> 1.0000 (boost 0.6750, better) |
| Biggest Deboost | predicted_SO: 0.7530 -> 0.0000 (deboost -0.7530, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.6800 -> 2.7694 (boost 0.0894, better) | predicted_OBP: 0.3370 -> 0.3278 (deboost -0.0092, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3278 -> 0.3184 (deboost -0.0094, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.6692 -> 1.0000 (boost 0.3308, better) | predicted_BB: 0.3119 -> 0.0000 (deboost -0.3119, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.242 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2995 -> 0.0000 (deboost -0.2995, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3664 -> 0.3740 (boost 0.0076, better) | - | 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3740 -> 0.3664 (deboost -0.0076, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "667472",
"player_name": "Dane Myers",
"position": "CF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.104,
"predicted_3B": 0.0,
"predicted_AB": 2.68,
"predicted_AVG": 0.248,
"predicted_BB": 0.325,
"predicted_H": 0.67,
"predicted_HR": 0.08,
"predicted_OBP": 0.337,
"predicted_R": 0.299,
"predicted_RBI": 0.3,
"predicted_SLG": 0.376,
"predicted_SO": 0.753
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0932,
"predicted_3B": 0.0004,
"predicted_AB": 2.7694,
"predicted_AVG": 0.2451,
"predicted_BB": 0.3146,
"predicted_H": 0.6816,
"predicted_HBP": 0.026,
"predicted_HR": 0.0854,
"predicted_OBP": 0.3278,
"predicted_R": 0.3094,
"predicted_RBI": 0.3062,
"predicted_SLG": 0.3716,
"predicted_SO": 0.7064
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.0932,
"delta": -0.0108,
"percent_delta": -0.1038,
"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.68,
"after": 2.7694,
"delta": 0.0894,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2451,
"delta": -0.0029,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 0.3146,
"delta": -0.0104,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.6816,
"delta": 0.0116,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0854,
"delta": 0.0054,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3278,
"delta": -0.0092,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.3094,
"delta": 0.0104,
"percent_delta": 0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3062,
"delta": 0.0062,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3716,
"delta": -0.0044,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.753,
"after": 0.7064,
"delta": -0.0466,
"percent_delta": -0.0619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.68,
"after": 2.7694,
"delta": 0.0894,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3278,
"delta": -0.0092,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 77
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0932,
"predicted_3B": 0.0004,
"predicted_AB": 2.7694,
"predicted_AVG": 0.2416,
"predicted_BB": 0.3119,
"predicted_H": 0.6692,
"predicted_HBP": 0.026,
"predicted_HR": 0.0838,
"predicted_OBP": 0.3184,
"predicted_R": 0.2995,
"predicted_RBI": 0.2964,
"predicted_SLG": 0.3664,
"predicted_SO": 0.7124
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0932,
"after": 0.0932,
"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.7694,
"after": 2.7694,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2451,
"after": 0.2416,
"delta": -0.0035,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3146,
"after": 0.3119,
"delta": -0.0027,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6816,
"after": 0.6692,
"delta": -0.0124,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0854,
"after": 0.0838,
"delta": -0.0016,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3278,
"after": 0.3184,
"delta": -0.0094,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3094,
"after": 0.2995,
"delta": -0.0099,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3062,
"after": 0.2964,
"delta": -0.0098,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3716,
"after": 0.3664,
"delta": -0.0052,
"percent_delta": -0.014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7064,
"after": 0.7124,
"delta": 0.006,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3278,
"after": 0.3184,
"delta": -0.0094,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.242 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0932,
"after": 0.0,
"delta": -0.0932,
"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.7694,
"after": 3.0,
"delta": 0.2306,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3119,
"after": 0.0,
"delta": -0.3119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6692,
"after": 1.0,
"delta": 0.3308,
"percent_delta": 0.4943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0838,
"after": 0.0,
"delta": -0.0838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2964,
"after": 0.0,
"delta": -0.2964,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7124,
"after": 1.0,
"delta": 0.2876,
"percent_delta": 0.4037,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6692,
"after": 1.0,
"delta": 0.3308,
"percent_delta": 0.4943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3119,
"after": 0.0,
"delta": -0.3119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2995,
"after": 0.0,
"delta": -0.2995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2995,
"after": 0.0,
"delta": -0.2995,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.242,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.324,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.374,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2416,
"after": 0.242,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3184,
"after": 0.324,
"delta": 0.0056,
"percent_delta": 0.0176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3664,
"after": 0.374,
"delta": 0.0076,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3664,
"after": 0.374,
"delta": 0.0076,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2416,
"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.3184,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3664,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2416,
"delta": -0.0004,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3184,
"delta": -0.0056,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3664,
"delta": -0.0076,
"percent_delta": -0.0204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3664,
"delta": -0.0076,
"percent_delta": -0.0204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.68,
"after": 3.0,
"delta": 0.32,
"percent_delta": 0.1194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2416,
"delta": -0.0064,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.325,
"after": 1.0,
"delta": 0.675,
"percent_delta": 2.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3184,
"delta": -0.0186,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.0,
"delta": -0.299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3664,
"delta": -0.0096,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.753,
"after": 0.0,
"delta": -0.753,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.325,
"after": 1.0,
"delta": 0.675,
"percent_delta": 2.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.753,
"after": 0.0,
"delta": -0.753,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.680 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.325 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.299 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.753 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | -0.011 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.769 | 0.089 |
| predicted_AVG | 0.245 | -0.003 |
| predicted_BB | 0.315 | -0.010 |
| predicted_H | 0.682 | 0.012 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.085 | 0.005 |
| predicted_OBP | 0.328 | -0.009 |
| predicted_R | 0.309 | 0.010 |
| predicted_RBI | 0.306 | 0.006 |
| predicted_SLG | 0.372 | -0.004 |
| predicted_SO | 0.706 | -0.047 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.769 | 0.000 |
| predicted_AVG | 0.242 | -0.004 |
| predicted_BB | 0.312 | -0.003 |
| predicted_H | 0.669 | -0.012 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.084 | -0.002 |
| predicted_OBP | 0.318 | -0.009 |
| predicted_R | 0.299 | -0.010 |
| predicted_RBI | 0.296 | -0.010 |
| predicted_SLG | 0.366 | -0.005 |
| predicted_SO | 0.712 | 0.006 |
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.242 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.093 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.231 |
| predicted_AVG | 0.242 | 0.000 |
| predicted_BB | 0.000 | -0.312 |
| predicted_H | 1.000 | 0.331 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.324 | 0.006 |
| predicted_R | 0.000 | -0.299 |
| predicted_RBI | 0.000 | -0.296 |
| predicted_SLG | 0.374 | 0.008 |
| predicted_SO | 1.000 | 0.288 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 1.000 | 1.000 | 0.2667 | 0.3125 | 0.4667 | 0.2667 | 0.0667 | 0.1333 | 0.0667 | 0.0667 |
| last_10 | 0.20 | 10 | - | 32.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 5.000 | 0.1875 | 0.2500 | 0.2812 | 0.1875 | 0.0312 | 0.0938 | 0.0938 | 0.1562 |
| season | 0.60 | 77 | - | 197.000 | 49.000 | 8.000 | 0.000 | 4.000 | 20.000 | 23.000 | 25.000 | 58.000 | 0.2487 | 0.3392 | 0.3503 | 0.2487 | 0.0203 | 0.1015 | 0.1269 | 0.2944 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0780 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8950 |
| predicted_AVG | 0.2410 |
| predicted_BB | 0.3000 |
| predicted_H | 0.6980 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.3148 |
| predicted_R | 0.3240 |
| predicted_RBI | 0.3150 |
| predicted_SLG | 0.3654 |
| predicted_SO | 0.6410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1040 | 0.0780 | 0.0932 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.6800 | 2.8950 | 2.7694 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2410 | 0.2451 | model_form_blend |
| predicted_BB | 0.3250 | 0.3000 | 0.3146 | model_form_blend |
| predicted_H | 0.6700 | 0.6980 | 0.6816 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.0800 | 0.0930 | 0.0854 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3148 | 0.3278 | model_form_blend |
| predicted_R | 0.2990 | 0.3240 | 0.3094 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3150 | 0.3062 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3654 | 0.3716 | model_form_blend |
| predicted_SO | 0.7530 | 0.6410 | 0.7064 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 247 |
| Season rows before report date | 247 |
| Report year | 2026 |
| Profile rows used | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 667472 |
| playerID | 667472 |
| playerName | Dane Myers |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.324 |
| sl_xwoba | 0.318 |
| sl_xba | 0.235 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 15.3 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 42.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.184 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.200 | 3.000 | 4.000 | Hitting_AB | 3.824 | 4.000 | -0.824 | -1.000 |
| predicted_AVG | 0.254 | 0.667 | 0.250 | Hitting_AVG | 0.252 | 0.250 | 0.414 | 0.417 |
| predicted_BB | 0.424 | 1.000 | 0.000 | Hitting_BB | 0.466 | 1.000 | 0.534 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 1.070 | 2.000 | 1.000 | Hitting_H | 0.965 | 1.000 | 1.035 | 1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_OBP | 0.333 | 0.750 | 0.250 | Hitting_OBP | 0.334 | 0.400 | 0.416 | 0.350 |
| predicted_R | 0.552 | 1.000 | 1.000 | Hitting_R | 0.550 | 1.000 | 0.450 | 0.000 |
| predicted_RBI | 0.870 | 0.000 | 1.000 | Hitting_RBI | 0.750 | 2.000 | -0.750 | -2.000 |
| predicted_SLG | 0.437 | 0.667 | 0.250 | Hitting_SLG | 0.464 | 0.250 | 0.203 | 0.417 |
| predicted_SO | 0.936 | 1.000 | 1.000 | Hitting_SO | 0.958 | 1.000 | 0.042 | 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: 1.0700 -> 2.0000 (boost 0.9300, better) |
| Biggest Deboost | predicted_AB: 4.2000 -> 3.0000 (deboost -1.2000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.2000 -> 4.0366 (deboost -0.1634, worse) | Final model input calibrated with local 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.3318 -> 0.3197 (deboost -0.0121, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_RBI: 0.8161 -> 1.0000 (boost 0.1839, better) | predicted_BB: 0.4049 -> 0.0000 (deboost -0.4049, worse) | AB rounded to 4 (raw=4.20), rates preserved: AVG=0.242 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5247 -> 1.0000 (boost 0.4753, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2515 -> 0.2420 (deboost -0.0095, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2420 -> 0.2515 (boost 0.0095, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "1B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.184,
"predicted_3B": 0.0,
"predicted_AB": 4.2,
"predicted_AVG": 0.254,
"predicted_BB": 0.424,
"predicted_H": 1.07,
"predicted_HR": 0.2,
"predicted_OBP": 0.333,
"predicted_R": 0.552,
"predicted_RBI": 0.87,
"predicted_SLG": 0.437,
"predicted_SO": 0.936
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0004,
"predicted_AB": 4.0366,
"predicted_AVG": 0.2558,
"predicted_BB": 0.4084,
"predicted_H": 1.0339,
"predicted_HBP": 0.039,
"predicted_HR": 0.2004,
"predicted_OBP": 0.3318,
"predicted_R": 0.542,
"predicted_RBI": 0.8431,
"predicted_SLG": 0.441,
"predicted_SO": 0.9117
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.154,
"delta": -0.03,
"percent_delta": -0.163,
"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.2,
"after": 4.0366,
"delta": -0.1634,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2558,
"delta": 0.0018,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 0.4084,
"delta": -0.0156,
"percent_delta": -0.0368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0339,
"delta": -0.0361,
"percent_delta": -0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2004,
"delta": 0.0004,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3318,
"delta": -0.0012,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 0.542,
"delta": -0.01,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.87,
"after": 0.8431,
"delta": -0.0269,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.441,
"delta": 0.004,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.936,
"after": 0.9117,
"delta": -0.0243,
"percent_delta": -0.026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2,
"after": 4.0366,
"delta": -0.1634,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 125
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0004,
"predicted_AB": 4.0366,
"predicted_AVG": 0.2515,
"predicted_BB": 0.4049,
"predicted_H": 1.0151,
"predicted_HBP": 0.039,
"predicted_HR": 0.1967,
"predicted_OBP": 0.3197,
"predicted_R": 0.5247,
"predicted_RBI": 0.8161,
"predicted_SLG": 0.436,
"predicted_SO": 0.9194
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.154,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0366,
"after": 4.0366,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2558,
"after": 0.2515,
"delta": -0.0043,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4084,
"after": 0.4049,
"delta": -0.0035,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0339,
"after": 1.0151,
"delta": -0.0188,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2004,
"after": 0.1967,
"delta": -0.0037,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3318,
"after": 0.3197,
"delta": -0.0121,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.542,
"after": 0.5247,
"delta": -0.0173,
"percent_delta": -0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8431,
"after": 0.8161,
"delta": -0.027,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.436,
"delta": -0.005,
"percent_delta": -0.0113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9117,
"after": 0.9194,
"delta": 0.0077,
"percent_delta": 0.0084,
"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.3318,
"after": 0.3197,
"delta": -0.0121,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.20), rates preserved: AVG=0.242 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0366,
"after": 4.0,
"delta": -0.0366,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4049,
"after": 0.0,
"delta": -0.4049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0151,
"after": 1.0,
"delta": -0.0151,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1967,
"after": 0.0,
"delta": -0.1967,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8161,
"after": 1.0,
"delta": 0.1839,
"percent_delta": 0.2253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9194,
"after": 1.0,
"delta": 0.0806,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.8161,
"after": 1.0,
"delta": 0.1839,
"percent_delta": 0.2253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4049,
"after": 0.0,
"delta": -0.4049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5247,
"after": 1.0,
"delta": 0.4753,
"percent_delta": 0.9059,
"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.5247,
"after": 1.0,
"delta": 0.4753,
"percent_delta": 0.9059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": {},
"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.242,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.427,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2515,
"after": 0.242,
"delta": -0.0095,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3197,
"after": 0.314,
"delta": -0.0057,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.427,
"delta": -0.009,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2515,
"after": 0.242,
"delta": -0.0095,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2515,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3197,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.436,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2515,
"delta": 0.0095,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3197,
"delta": 0.0057,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.427,
"after": 0.436,
"delta": 0.009,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.242,
"after": 0.2515,
"delta": 0.0095,
"percent_delta": 0.0391,
"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.184,
"after": 0.0,
"delta": -0.184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 3.0,
"delta": -1.2,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2515,
"delta": -0.0025,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.424,
"after": 1.0,
"delta": 0.576,
"percent_delta": 1.3585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.0,
"delta": 0.93,
"percent_delta": 0.8692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3197,
"delta": -0.0133,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 1.0,
"delta": 0.448,
"percent_delta": 0.8116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.436,
"delta": -0.001,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.936,
"after": 1.0,
"delta": 0.064,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.07,
"after": 2.0,
"delta": 0.93,
"percent_delta": 0.8692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2,
"after": 3.0,
"delta": -1.2,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.424 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.552 | - |
| predicted_RBI | 0.870 | - |
| predicted_SLG | 0.437 | - |
| predicted_SO | 0.936 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.030 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.037 | -0.163 |
| predicted_AVG | 0.256 | 0.002 |
| predicted_BB | 0.408 | -0.016 |
| predicted_H | 1.034 | -0.036 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.200 | 0.000 |
| predicted_OBP | 0.332 | -0.001 |
| predicted_R | 0.542 | -0.010 |
| predicted_RBI | 0.843 | -0.027 |
| predicted_SLG | 0.441 | 0.004 |
| predicted_SO | 0.912 | -0.024 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.037 | 0.000 |
| predicted_AVG | 0.252 | -0.004 |
| predicted_BB | 0.405 | -0.004 |
| predicted_H | 1.015 | -0.019 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.197 | -0.004 |
| predicted_OBP | 0.320 | -0.012 |
| predicted_R | 0.525 | -0.017 |
| predicted_RBI | 0.816 | -0.027 |
| predicted_SLG | 0.436 | -0.005 |
| predicted_SO | 0.919 | 0.008 |
AB rounded to 4 (raw=4.20), rates preserved: AVG=0.242 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.000 |
| predicted_AB | 4.000 | -0.037 |
| predicted_AVG | 0.242 | -0.010 |
| predicted_BB | 0.000 | -0.405 |
| predicted_H | 1.000 | -0.015 |
| predicted_HR | 0.000 | -0.197 |
| predicted_OBP | 0.314 | -0.006 |
| predicted_R | 1.000 | 0.475 |
| predicted_RBI | 1.000 | 0.184 |
| predicted_SLG | 0.427 | -0.009 |
| predicted_SO | 1.000 | 0.081 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 1.000 | 5.000 | 2.000 | 2.000 | 4.000 | 0.2105 | 0.2857 | 0.3684 | 0.2105 | 0.0526 | 0.2632 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 0.000 | 0.000 | 2.000 | 9.000 | 6.000 | 3.000 | 8.000 | 0.3077 | 0.3721 | 0.4615 | 0.3077 | 0.0513 | 0.2308 | 0.0769 | 0.2051 |
| season | 0.60 | 125 | - | 476.000 | 123.000 | 23.000 | 0.000 | 26.000 | 93.000 | 69.000 | 53.000 | 117.000 | 0.2584 | 0.3333 | 0.4706 | 0.2584 | 0.0546 | 0.1954 | 0.1113 | 0.2458 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8240 |
| predicted_AVG | 0.2581 |
| predicted_BB | 0.3880 |
| predicted_H | 0.9870 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.2010 |
| predicted_OBP | 0.3302 |
| predicted_R | 0.5290 |
| predicted_RBI | 0.8080 |
| predicted_SLG | 0.4462 |
| predicted_SO | 0.8800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.1150 | 0.1540 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2000 | 3.8240 | 4.0366 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2581 | 0.2558 | model_form_blend |
| predicted_BB | 0.4240 | 0.3880 | 0.4084 | model_form_blend |
| predicted_H | 1.0700 | 0.9870 | 1.0339 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.2000 | 0.2010 | 0.2004 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3302 | 0.3318 | model_form_blend |
| predicted_R | 0.5520 | 0.5290 | 0.5420 | model_form_blend |
| predicted_RBI | 0.8700 | 0.8080 | 0.8431 | model_form_blend |
| predicted_SLG | 0.4370 | 0.4462 | 0.4410 | model_form_blend |
| predicted_SO | 0.9360 | 0.8800 | 0.9117 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 547 |
| Season rows before report date | 547 |
| Report year | 2026 |
| Profile rows used | 125 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 701398 |
| playerID | 701398 |
| playerName | Sal Stewart |
| pos | 1B |
| started | True |
| startingPosition | 2B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.347 |
| sl_xwoba | 0.348 |
| sl_xba | 0.253 |
| sl_xslg | 0.474 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 48.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 1.000 | 0.000 | Hitting_2B | 0.440 | 0.000 | 0.560 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.875 | 4.000 | 3.000 | Hitting_AB | 3.240 | 4.000 | 0.760 | 0.000 |
| predicted_AVG | 0.130 | 0.500 | 0.000 | Hitting_AVG | 0.160 | 0.000 | 0.340 | 0.500 |
| predicted_BB | 0.125 | 0.000 | 0.000 | Hitting_BB | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.375 | 2.000 | 0.000 | Hitting_H | 0.520 | 0.000 | 1.480 | 2.000 |
| predicted_HR | 0.000 | 1.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_OBP | 0.167 | 0.500 | 0.000 | Hitting_OBP | 0.190 | 0.000 | 0.310 | 0.500 |
| predicted_R | 0.250 | 1.000 | 0.000 | Hitting_R | 0.400 | 0.000 | 0.600 | 1.000 |
| predicted_RBI | 0.125 | 3.000 | 0.000 | Hitting_RBI | 0.320 | 0.000 | 2.680 | 3.000 |
| predicted_SLG | 0.217 | 1.500 | 0.000 | Hitting_SLG | 0.296 | 0.000 | 1.204 | 1.500 |
| predicted_SO | 1.250 | 0.000 | 1.000 | Hitting_SO | 1.200 | 2.000 | -1.200 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 2 |
| Better Metrics | 10 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_RBI: 0.1250 -> 3.0000 (boost 2.8750, better) |
| Biggest Deboost | predicted_SO: 1.2500 -> 0.0000 (deboost -1.2500, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_AB: 2.8750 -> 3.0489 (boost 0.1739, 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 | 5 | 0 | 5 | 1 | 4 | - | predicted_H: 0.4359 -> 0.0000 (deboost -0.4359, worse) | AB rounded to 3 (raw=3.05), rates preserved: AVG=0.143 HR/AB=0.006 |
| 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 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.1790 -> 0.1860 (boost 0.0070, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 6 | 1 | 7 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.1860 -> 0.1790 (deboost -0.0070, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669911",
"player_name": "Michael Toglia",
"position": "LF",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.0,
"predicted_AB": 2.875,
"predicted_AVG": 0.13,
"predicted_BB": 0.125,
"predicted_H": 0.375,
"predicted_HR": 0.0,
"predicted_OBP": 0.167,
"predicted_R": 0.25,
"predicted_RBI": 0.125,
"predicted_SLG": 0.217,
"predicted_SO": 1.25
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2362,
"predicted_3B": 0.0023,
"predicted_AB": 3.0489,
"predicted_AVG": 0.1435,
"predicted_BB": 0.1351,
"predicted_H": 0.444,
"predicted_HBP": 0.016,
"predicted_HR": 0.0193,
"predicted_OBP": 0.1807,
"predicted_R": 0.2828,
"predicted_RBI": 0.1842,
"predicted_SLG": 0.2402,
"predicted_SO": 1.2089
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2362,
"delta": -0.0138,
"percent_delta": -0.0552,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0023,
"delta": 0.0023,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.875,
"after": 3.0489,
"delta": 0.1739,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.13,
"after": 0.1435,
"delta": 0.0135,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.1351,
"delta": 0.0101,
"percent_delta": 0.0808,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.375,
"after": 0.444,
"delta": 0.069,
"percent_delta": 0.184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0193,
"delta": 0.0193,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.1807,
"delta": 0.0137,
"percent_delta": 0.082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.2828,
"delta": 0.0328,
"percent_delta": 0.1312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.125,
"after": 0.1842,
"delta": 0.0592,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.217,
"after": 0.2402,
"delta": 0.0232,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.25,
"after": 1.2089,
"delta": -0.0411,
"percent_delta": -0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.875,
"after": 3.0489,
"delta": 0.1739,
"percent_delta": 0.0605,
"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": 8,
"season": 8
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2362,
"predicted_3B": 0.0023,
"predicted_AB": 3.0489,
"predicted_AVG": 0.143,
"predicted_BB": 0.134,
"predicted_H": 0.4359,
"predicted_HBP": 0.016,
"predicted_HR": 0.0189,
"predicted_OBP": 0.179,
"predicted_R": 0.2738,
"predicted_RBI": 0.1783,
"predicted_SLG": 0.2406,
"predicted_SO": 1.2192
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2362,
"after": 0.2362,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0489,
"after": 3.0489,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1435,
"after": 0.143,
"delta": -0.0005,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1351,
"after": 0.134,
"delta": -0.0011,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.444,
"after": 0.4359,
"delta": -0.0081,
"percent_delta": -0.0182,
"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.0193,
"after": 0.0189,
"delta": -0.0004,
"percent_delta": -0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1807,
"after": 0.179,
"delta": -0.0017,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2828,
"after": 0.2738,
"delta": -0.009,
"percent_delta": -0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1842,
"after": 0.1783,
"delta": -0.0059,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2402,
"after": 0.2406,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2089,
"after": 1.2192,
"delta": 0.0103,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.05), rates preserved: AVG=0.143 HR/AB=0.006",
"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.2362,
"after": 0.0,
"delta": -0.2362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0489,
"after": 3.0,
"delta": -0.0489,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4359,
"after": 0.0,
"delta": -0.4359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0189,
"after": 0.0,
"delta": -0.0189,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1783,
"after": 0.0,
"delta": -0.1783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2192,
"after": 1.0,
"delta": -0.2192,
"percent_delta": -0.1798,
"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_H",
"before": 0.4359,
"after": 0.0,
"delta": -0.4359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.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": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.143,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.186,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.247,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.143,
"after": 0.143,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.179,
"after": 0.186,
"delta": 0.007,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2406,
"after": 0.247,
"delta": 0.0064,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.179,
"after": 0.186,
"delta": 0.007,
"percent_delta": 0.0391,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 2.0,
"delta": 2.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.143,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.179,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2406,
"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.143,
"after": 0.143,
"delta": -0.0,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.186,
"after": 0.179,
"delta": -0.007,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.247,
"after": 0.2406,
"delta": -0.0064,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.186,
"after": 0.179,
"delta": -0.007,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"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.875,
"after": 4.0,
"delta": 1.125,
"percent_delta": 0.3913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.13,
"after": 0.143,
"delta": 0.013,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.375,
"after": 2.0,
"delta": 1.625,
"percent_delta": 4.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.167,
"after": 0.179,
"delta": 0.012,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.125,
"after": 3.0,
"delta": 2.875,
"percent_delta": 23.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.217,
"after": 0.2406,
"delta": 0.0236,
"percent_delta": 0.1088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.25,
"after": 0.0,
"delta": -1.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 10,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.125,
"after": 3.0,
"delta": 2.875,
"percent_delta": 23.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.25,
"after": 0.0,
"delta": -1.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.875 | - |
| predicted_AVG | 0.130 | - |
| predicted_BB | 0.125 | - |
| predicted_H | 0.375 | - |
| predicted_HR | 0.000 | - |
| predicted_OBP | 0.167 | - |
| predicted_R | 0.250 | - |
| predicted_RBI | 0.125 | - |
| predicted_SLG | 0.217 | - |
| predicted_SO | 1.250 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.236 | -0.014 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.049 | 0.174 |
| predicted_AVG | 0.143 | 0.013 |
| predicted_BB | 0.135 | 0.010 |
| predicted_H | 0.444 | 0.069 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.019 | 0.019 |
| predicted_OBP | 0.181 | 0.014 |
| predicted_R | 0.283 | 0.033 |
| predicted_RBI | 0.184 | 0.059 |
| predicted_SLG | 0.240 | 0.023 |
| predicted_SO | 1.209 | -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.236 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.049 | 0.000 |
| predicted_AVG | 0.143 | -0.001 |
| predicted_BB | 0.134 | -0.001 |
| predicted_H | 0.436 | -0.008 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.019 | -0.000 |
| predicted_OBP | 0.179 | -0.002 |
| predicted_R | 0.274 | -0.009 |
| predicted_RBI | 0.178 | -0.006 |
| predicted_SLG | 0.241 | 0.000 |
| predicted_SO | 1.219 | 0.010 |
AB rounded to 3 (raw=3.05), rates preserved: AVG=0.143 HR/AB=0.006
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.236 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.049 |
| predicted_AVG | 0.143 | 0.000 |
| predicted_BB | 0.000 | -0.134 |
| predicted_H | 0.000 | -0.436 |
| predicted_HR | 0.000 | -0.019 |
| predicted_OBP | 0.186 | 0.007 |
| predicted_R | 0.000 | -0.274 |
| predicted_RBI | 0.000 | -0.178 |
| predicted_SLG | 0.247 | 0.006 |
| predicted_SO | 1.000 | -0.219 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 7.000 | 0.0625 | 0.0625 | 0.1250 | 0.0625 | 0.0000 | 0.0625 | 0.0000 | 0.4375 |
| last_10 | 0.20 | 8 | - | 23.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 10.000 | 0.1304 | 0.1667 | 0.2174 | 0.1304 | 0.0000 | 0.0435 | 0.0435 | 0.4348 |
| season | 0.60 | 8 | - | 23.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 10.000 | 0.1304 | 0.1667 | 0.2174 | 0.1304 | 0.0000 | 0.0435 | 0.0435 | 0.4348 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2020 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4800 |
| predicted_AVG | 0.1769 |
| predicted_BB | 0.1600 |
| predicted_H | 0.6150 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0670 |
| predicted_OBP | 0.2148 |
| predicted_R | 0.3640 |
| predicted_RBI | 0.3310 |
| predicted_SLG | 0.2976 |
| predicted_SO | 1.1070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2020 | 0.2362 | model_form_blend |
| predicted_3B | 0.0000 | 0.0080 | 0.0023 | model_form_blend |
| predicted_AB | 2.8750 | 3.4800 | 3.0489 | model_form_blend |
| predicted_AVG | 0.1300 | 0.1769 | 0.1435 | model_form_blend |
| predicted_BB | 0.1250 | 0.1600 | 0.1351 | model_form_blend |
| predicted_H | 0.3750 | 0.6150 | 0.4440 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0000 | 0.0670 | 0.0193 | model_form_blend |
| predicted_OBP | 0.1670 | 0.2148 | 0.1807 | model_form_blend |
| predicted_R | 0.2500 | 0.3640 | 0.2828 | model_form_blend |
| predicted_RBI | 0.1250 | 0.3310 | 0.1842 | model_form_blend |
| predicted_SLG | 0.2170 | 0.2976 | 0.2402 | model_form_blend |
| predicted_SO | 1.2500 | 1.1070 | 1.2089 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 8 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 669911 |
| playerID | 669911 |
| playerName | Michael Toglia |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 42.9 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.172 |
| sl_xwoba | 0.222 |
| sl_xba | 0.183 |
| sl_xslg | 0.251 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 57.1 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 34.8 |
| sl_swing_percent | 43.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.173 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.398 | 4.000 | 3.000 | Hitting_AB | 3.535 | 4.000 | 0.465 | 0.000 |
| predicted_AVG | 0.240 | 0.000 | 0.333 | Hitting_AVG | 0.211 | 0.250 | -0.211 | -0.250 |
| predicted_BB | 0.418 | 0.000 | 0.000 | Hitting_BB | 0.454 | 1.000 | -0.454 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.745 | 1.000 | -0.745 | -1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.118 | 1.000 | -0.118 | -1.000 |
| predicted_OBP | 0.314 | 0.000 | 0.333 | Hitting_OBP | 0.308 | 0.400 | -0.308 | -0.400 |
| predicted_R | 0.469 | 0.000 | 1.000 | Hitting_R | 0.470 | 2.000 | -0.470 | -2.000 |
| predicted_RBI | 0.720 | 0.000 | 1.000 | Hitting_RBI | 0.336 | 4.000 | -0.336 | -4.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_SLG | 0.466 | 0.000 | 0.333 | Hitting_SLG | 0.364 | 1.000 | -0.364 | -1.000 |
| predicted_SO | 1.061 | 0.000 | 1.000 | Hitting_SO | 1.115 | 0.000 | -1.115 | 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.3980 -> 4.0000 (boost 0.6020, 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 | 3 | 1 | 2 | 1 | 2 | predicted_R: 0.4690 -> 0.5217 (boost 0.0527, better) | predicted_RBI: 0.7200 -> 0.6086 (deboost -0.1114, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2354 -> 0.2203 (deboost -0.0151, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_RBI: 0.5891 -> 1.0000 (boost 0.4109, better) | predicted_AB: 3.4349 -> 3.0000 (deboost -0.4349, worse) | AB rounded to 3 (raw=3.43), rates preserved: AVG=0.220 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5050 -> 1.0000 (boost 0.4950, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4403 -> 0.4480 (boost 0.0077, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 2 | 3 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4480 -> 0.4403 (deboost -0.0077, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680574",
"player_name": "Matt McLain",
"position": "2B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.173,
"predicted_3B": 0.0,
"predicted_AB": 3.398,
"predicted_AVG": 0.24,
"predicted_BB": 0.418,
"predicted_H": 0.75,
"predicted_HR": 0.23,
"predicted_OBP": 0.314,
"predicted_R": 0.469,
"predicted_RBI": 0.72,
"predicted_SLG": 0.466,
"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.1777,
"predicted_3B": 0.0004,
"predicted_AB": 3.4349,
"predicted_AVG": 0.2354,
"predicted_BB": 0.388,
"predicted_H": 0.7706,
"predicted_HBP": 0.025,
"predicted_HR": 0.1961,
"predicted_OBP": 0.3096,
"predicted_R": 0.5217,
"predicted_RBI": 0.6086,
"predicted_SLG": 0.4433,
"predicted_SO": 1.046
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.1777,
"delta": 0.0047,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.398,
"after": 3.4349,
"delta": 0.0369,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2354,
"delta": -0.0046,
"percent_delta": -0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.418,
"after": 0.388,
"delta": -0.03,
"percent_delta": -0.0718,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7706,
"delta": 0.0206,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.1961,
"delta": -0.0339,
"percent_delta": -0.1474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3096,
"delta": -0.0044,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.5217,
"delta": 0.0527,
"percent_delta": 0.1124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.6086,
"delta": -0.1114,
"percent_delta": -0.1547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4433,
"delta": -0.0227,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.061,
"after": 1.046,
"delta": -0.015,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.469,
"after": 0.5217,
"delta": 0.0527,
"percent_delta": 0.1124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.6086,
"delta": -0.1114,
"percent_delta": -0.1547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 98
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1777,
"predicted_3B": 0.0004,
"predicted_AB": 3.4349,
"predicted_AVG": 0.2203,
"predicted_BB": 0.3847,
"predicted_H": 0.7566,
"predicted_HBP": 0.025,
"predicted_HR": 0.1925,
"predicted_OBP": 0.2988,
"predicted_R": 0.505,
"predicted_RBI": 0.5891,
"predicted_SLG": 0.4403,
"predicted_SO": 1.0549
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1777,
"after": 0.1777,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4349,
"after": 3.4349,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2354,
"after": 0.2203,
"delta": -0.0151,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.3847,
"delta": -0.0033,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7706,
"after": 0.7566,
"delta": -0.014,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1961,
"after": 0.1925,
"delta": -0.0036,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3096,
"after": 0.2988,
"delta": -0.0108,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5217,
"after": 0.505,
"delta": -0.0167,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6086,
"after": 0.5891,
"delta": -0.0195,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4433,
"after": 0.4403,
"delta": -0.003,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.046,
"after": 1.0549,
"delta": 0.0089,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2354,
"after": 0.2203,
"delta": -0.0151,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.43), rates preserved: AVG=0.220 HR/AB=0.056",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1777,
"after": 0.0,
"delta": -0.1777,
"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.4349,
"after": 3.0,
"delta": -0.4349,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3847,
"after": 0.0,
"delta": -0.3847,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7566,
"after": 1.0,
"delta": 0.2434,
"percent_delta": 0.3217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1925,
"after": 0.0,
"delta": -0.1925,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5891,
"after": 1.0,
"delta": 0.4109,
"percent_delta": 0.6975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0549,
"after": 1.0,
"delta": -0.0549,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5891,
"after": 1.0,
"delta": 0.4109,
"percent_delta": 0.6975,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4349,
"after": 3.0,
"delta": -0.4349,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.505,
"after": 1.0,
"delta": 0.495,
"percent_delta": 0.9802,
"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.505,
"after": 1.0,
"delta": 0.495,
"percent_delta": 0.9802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": {},
"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.22,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.304,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.448,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2203,
"after": 0.22,
"delta": -0.0003,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2988,
"after": 0.304,
"delta": 0.0052,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4403,
"after": 0.448,
"delta": 0.0077,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4403,
"after": 0.448,
"delta": 0.0077,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 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_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2203,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2988,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4403,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2203,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2988,
"delta": -0.0052,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4403,
"delta": -0.0077,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4403,
"delta": -0.0077,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.398,
"after": 4.0,
"delta": 0.602,
"percent_delta": 0.1772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2203,
"delta": -0.0197,
"percent_delta": -0.0821,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.418,
"after": 0.0,
"delta": -0.418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.2988,
"delta": -0.0152,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4403,
"delta": -0.0257,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.398,
"after": 4.0,
"delta": 0.602,
"percent_delta": 0.1772,
"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.173 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.398 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.418 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.466 | - |
| 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.178 | 0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.435 | 0.037 |
| predicted_AVG | 0.235 | -0.005 |
| predicted_BB | 0.388 | -0.030 |
| predicted_H | 0.771 | 0.021 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.196 | -0.034 |
| predicted_OBP | 0.310 | -0.004 |
| predicted_R | 0.522 | 0.053 |
| predicted_RBI | 0.609 | -0.111 |
| predicted_SLG | 0.443 | -0.023 |
| predicted_SO | 1.046 | -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.178 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.435 | 0.000 |
| predicted_AVG | 0.220 | -0.015 |
| predicted_BB | 0.385 | -0.003 |
| predicted_H | 0.757 | -0.014 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.193 | -0.004 |
| predicted_OBP | 0.299 | -0.011 |
| predicted_R | 0.505 | -0.017 |
| predicted_RBI | 0.589 | -0.020 |
| predicted_SLG | 0.440 | -0.003 |
| predicted_SO | 1.055 | 0.009 |
AB rounded to 3 (raw=3.43), rates preserved: AVG=0.220 HR/AB=0.056
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.178 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.435 |
| predicted_AVG | 0.220 | -0.000 |
| predicted_BB | 0.000 | -0.385 |
| predicted_H | 1.000 | 0.243 |
| predicted_HR | 0.000 | -0.193 |
| predicted_OBP | 0.304 | 0.005 |
| predicted_R | 1.000 | 0.495 |
| predicted_RBI | 1.000 | 0.411 |
| predicted_SLG | 0.448 | 0.008 |
| predicted_SO | 1.000 | -0.055 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 5.000 | 0.2778 | 0.3158 | 0.5000 | 0.2778 | 0.0556 | 0.2222 | 0.0556 | 0.2778 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 2.000 | 0.000 | 2.000 | 5.000 | 8.000 | 3.000 | 10.000 | 0.2571 | 0.3158 | 0.4857 | 0.2571 | 0.0571 | 0.1429 | 0.0857 | 0.2857 |
| season | 0.60 | 98 | - | 333.000 | 67.000 | 17.000 | 0.000 | 12.000 | 33.000 | 46.000 | 41.000 | 104.000 | 0.2012 | 0.2955 | 0.3604 | 0.2012 | 0.0360 | 0.0991 | 0.1231 | 0.3123 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1840 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4840 |
| predicted_AVG | 0.2292 |
| predicted_BB | 0.3480 |
| predicted_H | 0.7980 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.3037 |
| predicted_R | 0.5920 |
| predicted_RBI | 0.4600 |
| predicted_SLG | 0.4130 |
| predicted_SO | 1.0260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.1840 | 0.1777 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3980 | 3.4840 | 3.4349 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2292 | 0.2354 | model_form_blend |
| predicted_BB | 0.4180 | 0.3480 | 0.3880 | model_form_blend |
| predicted_H | 0.7500 | 0.7980 | 0.7706 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.2300 | 0.1510 | 0.1961 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3037 | 0.3096 | model_form_blend |
| predicted_R | 0.4690 | 0.5920 | 0.5217 | model_form_blend |
| predicted_RBI | 0.7200 | 0.4600 | 0.6086 | model_form_blend |
| predicted_SLG | 0.4660 | 0.4130 | 0.4433 | model_form_blend |
| predicted_SO | 1.0610 | 1.0260 | 1.0460 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 381 |
| Season rows before report date | 381 |
| Report year | 2026 |
| Profile rows used | 98 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 680574 |
| playerID | 680574 |
| playerName | Matt McLain |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.294 |
| sl_xwoba | 0.323 |
| sl_xba | 0.235 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 10.4 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 20.4 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 42.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.094 | 0.000 | 0.000 | Hitting_2B | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.188 | 4.000 | 3.000 | Hitting_AB | 3.294 | 3.000 | 0.706 | 1.000 |
| predicted_AVG | 0.235 | 0.500 | 0.333 | Hitting_AVG | 0.242 | 0.333 | 0.258 | 0.167 |
| predicted_BB | 0.031 | 0.000 | 0.000 | Hitting_BB | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_H | 0.630 | 2.000 | 1.000 | Hitting_H | 0.798 | 1.000 | 1.202 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_OBP | 0.247 | 0.500 | 0.333 | Hitting_OBP | 0.249 | 0.333 | 0.251 | 0.167 |
| predicted_R | 0.344 | 1.000 | 0.000 | Hitting_R | 0.385 | 1.000 | 0.615 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.422 | 0.000 | -0.422 | 0.000 |
| predicted_SLG | 0.347 | 0.500 | 0.333 | Hitting_SLG | 0.398 | 0.333 | 0.102 | 0.167 |
| predicted_SO | 0.625 | 0.000 | 1.000 | Hitting_SO | 0.642 | 0.000 | -0.642 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.6300 -> 2.0000 (boost 1.3700, better) |
| Biggest Deboost | predicted_SO: 0.6250 -> 0.0000 (deboost -0.6250, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3482 -> 0.3157 (deboost -0.0325, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6648 -> 1.0000 (boost 0.3352, worse) | predicted_RBI: 0.2568 -> 0.0000 (deboost -0.2568, worse) | AB rounded to 3 (raw=3.22), rates preserved: AVG=0.207 HR/AB=0.027 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3271 -> 0.0000 (deboost -0.3271, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | 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 |
| 10 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624431",
"player_name": "Jose Trevino",
"position": "C",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.094,
"predicted_3B": 0.0,
"predicted_AB": 3.188,
"predicted_AVG": 0.235,
"predicted_BB": 0.031,
"predicted_H": 0.63,
"predicted_HR": 0.08,
"predicted_OBP": 0.247,
"predicted_R": 0.344,
"predicted_RBI": 0.24,
"predicted_SLG": 0.347,
"predicted_SO": 0.625
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0886,
"predicted_3B": 0.0012,
"predicted_AB": 3.2245,
"predicted_AVG": 0.2334,
"predicted_BB": 0.0448,
"predicted_H": 0.6792,
"predicted_HBP": 0.006,
"predicted_HR": 0.0884,
"predicted_OBP": 0.247,
"predicted_R": 0.3379,
"predicted_RBI": 0.2653,
"predicted_SLG": 0.3482,
"predicted_SO": 0.6592
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.094,
"after": 0.0886,
"delta": -0.0054,
"percent_delta": -0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.188,
"after": 3.2245,
"delta": 0.0365,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2334,
"delta": -0.0016,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.031,
"after": 0.0448,
"delta": 0.0138,
"percent_delta": 0.4452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.6792,
"delta": 0.0492,
"percent_delta": 0.0781,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0884,
"delta": 0.0084,
"percent_delta": 0.105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.247,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.344,
"after": 0.3379,
"delta": -0.0061,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2653,
"delta": 0.0253,
"percent_delta": 0.1054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3482,
"delta": 0.0012,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.625,
"after": 0.6592,
"delta": 0.0342,
"percent_delta": 0.0547,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 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.0886,
"predicted_3B": 0.0012,
"predicted_AB": 3.2245,
"predicted_AVG": 0.2068,
"predicted_BB": 0.0444,
"predicted_H": 0.6668,
"predicted_HBP": 0.006,
"predicted_HR": 0.0868,
"predicted_OBP": 0.2176,
"predicted_R": 0.3271,
"predicted_RBI": 0.2568,
"predicted_SLG": 0.3157,
"predicted_SO": 0.6648
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0886,
"after": 0.0886,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2245,
"after": 3.2245,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2334,
"after": 0.2068,
"delta": -0.0266,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0448,
"after": 0.0444,
"delta": -0.0004,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6792,
"after": 0.6668,
"delta": -0.0124,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.006,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0884,
"after": 0.0868,
"delta": -0.0016,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.2176,
"delta": -0.0294,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3379,
"after": 0.3271,
"delta": -0.0108,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2653,
"after": 0.2568,
"delta": -0.0085,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3482,
"after": 0.3157,
"delta": -0.0325,
"percent_delta": -0.0933,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6592,
"after": 0.6648,
"delta": 0.0056,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3482,
"after": 0.3157,
"delta": -0.0325,
"percent_delta": -0.0933,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.22), rates preserved: AVG=0.207 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0886,
"after": 0.0,
"delta": -0.0886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2245,
"after": 3.0,
"delta": -0.2245,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0444,
"after": 0.0,
"delta": -0.0444,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6668,
"after": 1.0,
"delta": 0.3332,
"percent_delta": 0.4997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0868,
"after": 0.0,
"delta": -0.0868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2568,
"after": 0.0,
"delta": -0.2568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6648,
"after": 1.0,
"delta": 0.3352,
"percent_delta": 0.5042,
"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.6648,
"after": 1.0,
"delta": 0.3352,
"percent_delta": 0.5042,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2568,
"after": 0.0,
"delta": -0.2568,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3271,
"after": 0.0,
"delta": -0.3271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3271,
"after": 0.0,
"delta": -0.3271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player 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.202,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.216,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.312,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2068,
"after": 0.202,
"delta": -0.0048,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2176,
"after": 0.216,
"delta": -0.0016,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.312,
"delta": -0.0037,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 10,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2068,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2176,
"predicted_R": 1.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.202,
"after": 0.2068,
"delta": 0.0048,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.216,
"after": 0.2176,
"delta": 0.0016,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.312,
"after": 0.3157,
"delta": 0.0037,
"percent_delta": 0.012,
"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": "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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.188,
"after": 4.0,
"delta": 0.812,
"percent_delta": 0.2547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2068,
"delta": -0.0282,
"percent_delta": -0.12,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 2.0,
"delta": 1.37,
"percent_delta": 2.1746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.2176,
"delta": -0.0294,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.344,
"after": 1.0,
"delta": 0.656,
"percent_delta": 1.907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.3157,
"delta": -0.0313,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.625,
"after": 0.0,
"delta": -0.625,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.63,
"after": 2.0,
"delta": 1.37,
"percent_delta": 2.1746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.625,
"after": 0.0,
"delta": -0.625,
"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.094 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.188 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.031 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.247 | - |
| predicted_R | 0.344 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.347 | - |
| predicted_SO | 0.625 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | -0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.224 | 0.036 |
| predicted_AVG | 0.233 | -0.002 |
| predicted_BB | 0.045 | 0.014 |
| predicted_H | 0.679 | 0.049 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.088 | 0.008 |
| predicted_OBP | 0.247 | 0.000 |
| predicted_R | 0.338 | -0.006 |
| predicted_RBI | 0.265 | 0.025 |
| predicted_SLG | 0.348 | 0.001 |
| predicted_SO | 0.659 | 0.034 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.224 | 0.000 |
| predicted_AVG | 0.207 | -0.027 |
| predicted_BB | 0.044 | -0.000 |
| predicted_H | 0.667 | -0.012 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.087 | -0.002 |
| predicted_OBP | 0.218 | -0.029 |
| predicted_R | 0.327 | -0.011 |
| predicted_RBI | 0.257 | -0.009 |
| predicted_SLG | 0.316 | -0.033 |
| predicted_SO | 0.665 | 0.006 |
AB rounded to 3 (raw=3.22), rates preserved: AVG=0.207 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 | 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.089 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.224 |
| predicted_AVG | 0.202 | -0.005 |
| predicted_BB | 0.000 | -0.044 |
| predicted_H | 1.000 | 0.333 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.216 | -0.002 |
| predicted_R | 0.000 | -0.327 |
| predicted_RBI | 0.000 | -0.257 |
| predicted_SLG | 0.312 | -0.004 |
| predicted_SO | 1.000 | 0.335 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 9.000 | 0.1935 | 0.1935 | 0.2903 | 0.1935 | 0.0323 | 0.0645 | 0.0000 | 0.2903 |
| season | 0.60 | 32 | - | 102.000 | 25.000 | 3.000 | 0.000 | 4.000 | 12.000 | 11.000 | 1.000 | 20.000 | 0.2451 | 0.2524 | 0.3922 | 0.2451 | 0.0392 | 0.1177 | 0.0098 | 0.1961 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0800 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.2830 |
| predicted_AVG | 0.2308 |
| predicted_BB | 0.0670 |
| predicted_H | 0.7580 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1020 |
| predicted_OBP | 0.2471 |
| predicted_R | 0.3280 |
| predicted_RBI | 0.3060 |
| predicted_SLG | 0.3502 |
| predicted_SO | 0.7140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0940 | 0.0800 | 0.0886 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.1880 | 3.2830 | 3.2245 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2308 | 0.2334 | model_form_blend |
| predicted_BB | 0.0310 | 0.0670 | 0.0448 | model_form_blend |
| predicted_H | 0.6300 | 0.7580 | 0.6792 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0800 | 0.1020 | 0.0884 | model_form_blend |
| predicted_OBP | 0.2470 | 0.2471 | 0.2470 | model_form_blend |
| predicted_R | 0.3440 | 0.3280 | 0.3379 | model_form_blend |
| predicted_RBI | 0.2400 | 0.3060 | 0.2653 | model_form_blend |
| predicted_SLG | 0.3470 | 0.3502 | 0.3482 | model_form_blend |
| predicted_SO | 0.6250 | 0.7140 | 0.6592 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 109 |
| Season rows before report date | 109 |
| 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.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260819_STL@CIN |
| game_type | full |
| mlbID | 624431 |
| playerID | 624431 |
| playerName | Jose Trevino |
| pos | C |
| started | True |
| startingPosition | C |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-19 |
| game_pk | 824476.0 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 1.0 |
| sl_woba | 0.279 |
| sl_xwoba | 0.217 |
| sl_xba | 0.205 |
| sl_xslg | 0.286 |
| sl_sweet_spot_percent | 23.8 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 32.1 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 50.7 |
| at_bat_number | 62.0 |
| ab_pitcher | 677865.0 |
| ab_pitcher_name | Bruihl, Justin |
| ab_home_team | CIN |
| ab_away_team | STL |
| ab_game_type | R |
| ab_stand | R |
| 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 | single |
| ab_event_description | Jose Trevino singles on a ground ball to center fielder José Fermín. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 91.1 |
| ab_launch_angle_last | 8.0 |
| ab_hit_distance_last | 128.0 |
| ab_estimated_ba_last | 0.557 |
| ab_estimated_woba_last | 0.523 |
| ab_estimated_slg_last | 0.638 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.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 | 3.0 |
| ab_release_speed_avg | 80.86666666666667 |
| ab_release_spin_rate_avg | 2420.333333333333 |
| ab_effective_speed_avg | 80.89999999999999 |
| ab_launch_speed_avg | 91.1 |
| ab_launch_angle_avg | 8.0 |
| ab_delta_run_exp_avg | 0.1486666666666666 |
| ab_delta_home_win_exp_avg | 0.0063333333333333 |
| ab_delta_pitcher_run_exp_avg | -0.1486666666666666 |
| ab_bat_speed_avg | 67.2 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 91.1 |
| ab_hit_distance_sc_max | 128.0 |
| ab_release_speed_max | 90.0 |
| ab_release_spin_rate_max | 2548.0 |
| ab_release_speed_min | 76.2 |
| ab_release_spin_rate_min | 2165.0 |
| ab_delta_run_exp_sum | 0.446 |
| ab_delta_home_win_exp_sum | 0.019 |
| ab_delta_pitcher_run_exp_sum | -0.446 |
| 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.033 | 0.000 | 0.000 | Hitting_2B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.033 | 4.000 | 3.000 | Hitting_AB | 3.000 | 3.000 | 1.000 | 1.000 |
| predicted_AVG | 0.239 | 0.000 | 0.000 | Hitting_AVG | 0.162 | 0.333 | -0.162 | -0.333 |
| predicted_BB | 0.167 | 0.000 | 0.000 | Hitting_BB | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.520 | 0.000 | 0.000 | Hitting_H | 0.485 | 1.000 | -0.485 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_OBP | 0.275 | 0.000 | 0.000 | Hitting_OBP | 0.218 | 0.333 | -0.218 | -0.333 |
| predicted_R | 0.300 | 0.000 | 0.000 | Hitting_R | 0.325 | 1.000 | -0.325 | -1.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_SLG | 0.379 | 0.000 | 0.000 | Hitting_SLG | 0.280 | 0.333 | -0.280 | -0.333 |
| predicted_SO | 0.617 | 2.000 | 1.000 | Hitting_SO | 0.587 | 0.000 | 1.413 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6170 -> 2.0000 (boost 1.3830, worse) |
| Biggest Deboost | predicted_H: 0.5200 -> 0.0000 (deboost -0.5200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 3.0330 -> 2.9710 (deboost -0.0620, worse) | Final model input calibrated with local form: 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.3728 -> 0.3155 (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 | 5 | 2 | 3 | 1 | 4 | predicted_H: 0.5557 -> 1.0000 (boost 0.4443, better) | predicted_RBI: 0.1803 -> 0.0000 (deboost -0.1803, worse) | AB rounded to 3 (raw=3.03), rates preserved: AVG=0.183 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3373 -> 0.0000 (deboost -0.3373, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 4 | 1 | 3 | 1 | 3 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.3155 -> 0.2930 (deboost -0.0225, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | 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 |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2930 -> 0.3155 (boost 0.0225, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663647",
"player_name": "Ke'Bryan Hayes",
"position": "3B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.033,
"predicted_3B": 0.017,
"predicted_AB": 3.033,
"predicted_AVG": 0.239,
"predicted_BB": 0.167,
"predicted_H": 0.52,
"predicted_HR": 0.1,
"predicted_OBP": 0.275,
"predicted_R": 0.3,
"predicted_RBI": 0.19,
"predicted_SLG": 0.379,
"predicted_SO": 0.617
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0338,
"predicted_3B": 0.0141,
"predicted_AB": 2.971,
"predicted_AVG": 0.2309,
"predicted_BB": 0.1703,
"predicted_H": 0.566,
"predicted_HBP": 0.02,
"predicted_HR": 0.1086,
"predicted_OBP": 0.2724,
"predicted_R": 0.3485,
"predicted_RBI": 0.1863,
"predicted_SLG": 0.3728,
"predicted_SO": 0.5956
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.033,
"after": 0.0338,
"delta": 0.0008,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0141,
"delta": -0.0029,
"percent_delta": -0.1706,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.033,
"after": 2.971,
"delta": -0.062,
"percent_delta": -0.0204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2309,
"delta": -0.0081,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.1703,
"delta": 0.0033,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.52,
"after": 0.566,
"delta": 0.046,
"percent_delta": 0.0885,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1086,
"delta": 0.0086,
"percent_delta": 0.086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2724,
"delta": -0.0026,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 0.3485,
"delta": 0.0485,
"percent_delta": 0.1617,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.1863,
"delta": -0.0037,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3728,
"delta": -0.0062,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.617,
"after": 0.5956,
"delta": -0.0214,
"percent_delta": -0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.033,
"after": 2.971,
"delta": -0.062,
"percent_delta": -0.0204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0338,
"predicted_3B": 0.0141,
"predicted_AB": 2.971,
"predicted_AVG": 0.187,
"predicted_BB": 0.1689,
"predicted_H": 0.5557,
"predicted_HBP": 0.02,
"predicted_HR": 0.1066,
"predicted_OBP": 0.2308,
"predicted_R": 0.3373,
"predicted_RBI": 0.1803,
"predicted_SLG": 0.3155,
"predicted_SO": 0.6007
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0338,
"after": 0.0338,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0141,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.971,
"after": 2.971,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.187,
"delta": -0.0439,
"percent_delta": -0.1901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1703,
"after": 0.1689,
"delta": -0.0014,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.566,
"after": 0.5557,
"delta": -0.0103,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1086,
"after": 0.1066,
"delta": -0.002,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2724,
"after": 0.2308,
"delta": -0.0416,
"percent_delta": -0.1527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3485,
"after": 0.3373,
"delta": -0.0112,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1863,
"after": 0.1803,
"delta": -0.006,
"percent_delta": -0.0322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3728,
"after": 0.3155,
"delta": -0.0573,
"percent_delta": -0.1537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5956,
"after": 0.6007,
"delta": 0.0051,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3728,
"after": 0.3155,
"delta": -0.0573,
"percent_delta": -0.1537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.03), rates preserved: AVG=0.183 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.0338,
"after": 0.0,
"delta": -0.0338,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0,
"delta": -0.0141,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.971,
"after": 3.0,
"delta": 0.029,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1689,
"after": 0.0,
"delta": -0.1689,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5557,
"after": 1.0,
"delta": 0.4443,
"percent_delta": 0.7995,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1066,
"after": 0.0,
"delta": -0.1066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1803,
"after": 0.0,
"delta": -0.1803,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6007,
"after": 1.0,
"delta": 0.3993,
"percent_delta": 0.6647,
"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.5557,
"after": 1.0,
"delta": 0.4443,
"percent_delta": 0.7995,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.1803,
"after": 0.0,
"delta": -0.1803,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3373,
"after": 0.0,
"delta": -0.3373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3373,
"after": 0.0,
"delta": -0.3373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": "embedded_savant_player_context",
"description": "Player 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.173,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.22,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.293,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.187,
"after": 0.173,
"delta": -0.014,
"percent_delta": -0.0749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"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_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2308,
"after": 0.22,
"delta": -0.0108,
"percent_delta": -0.0468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3155,
"after": 0.293,
"delta": -0.0225,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3155,
"after": 0.293,
"delta": -0.0225,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 10,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.187,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2308,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3155,
"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.173,
"after": 0.187,
"delta": 0.014,
"percent_delta": 0.0812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.22,
"after": 0.2308,
"delta": 0.0108,
"percent_delta": 0.0489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.293,
"after": 0.3155,
"delta": 0.0225,
"percent_delta": 0.0769,
"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.293,
"after": 0.3155,
"delta": 0.0225,
"percent_delta": 0.0769,
"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.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.033,
"after": 4.0,
"delta": 0.967,
"percent_delta": 0.3188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.187,
"delta": -0.052,
"percent_delta": -0.2176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2308,
"delta": -0.0442,
"percent_delta": -0.1607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3155,
"delta": -0.0635,
"percent_delta": -0.1675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.617,
"after": 2.0,
"delta": 1.383,
"percent_delta": 2.2415,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.617,
"after": 2.0,
"delta": 1.383,
"percent_delta": 2.2415,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.033 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.033 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.167 | - |
| predicted_H | 0.520 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.300 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.617 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.034 | 0.001 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 2.971 | -0.062 |
| predicted_AVG | 0.231 | -0.008 |
| predicted_BB | 0.170 | 0.003 |
| predicted_H | 0.566 | 0.046 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.109 | 0.009 |
| predicted_OBP | 0.272 | -0.003 |
| predicted_R | 0.348 | 0.048 |
| predicted_RBI | 0.186 | -0.004 |
| predicted_SLG | 0.373 | -0.006 |
| predicted_SO | 0.596 | -0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.034 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 2.971 | 0.000 |
| predicted_AVG | 0.187 | -0.044 |
| predicted_BB | 0.169 | -0.001 |
| predicted_H | 0.556 | -0.010 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.107 | -0.002 |
| predicted_OBP | 0.231 | -0.042 |
| predicted_R | 0.337 | -0.011 |
| predicted_RBI | 0.180 | -0.006 |
| predicted_SLG | 0.316 | -0.057 |
| predicted_SO | 0.601 | 0.005 |
AB rounded to 3 (raw=3.03), rates preserved: AVG=0.183 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.014 |
| predicted_AB | 3.000 | 0.029 |
| predicted_AVG | 0.173 | -0.014 |
| predicted_BB | 0.000 | -0.169 |
| predicted_H | 1.000 | 0.444 |
| predicted_HR | 0.000 | -0.107 |
| predicted_OBP | 0.220 | -0.011 |
| predicted_R | 0.000 | -0.337 |
| predicted_RBI | 0.000 | -0.180 |
| predicted_SLG | 0.293 | -0.023 |
| predicted_SO | 1.000 | 0.399 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 1.000 | 2.000 | 0.3636 | 0.4167 | 0.6364 | 0.3636 | 0.0909 | 0.0909 | 0.0909 | 0.1818 |
| last_10 | 0.20 | 10 | - | 24.000 | 6.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 1.000 | 4.000 | 0.2500 | 0.2800 | 0.3750 | 0.2500 | 0.0417 | 0.0417 | 0.0417 | 0.1667 |
| season | 0.60 | 60 | - | 182.000 | 28.000 | 2.000 | 1.000 | 5.000 | 8.000 | 18.000 | 10.000 | 37.000 | 0.1538 | 0.2062 | 0.2582 | 0.1538 | 0.0275 | 0.0440 | 0.0549 | 0.2033 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0350 |
| predicted_3B | 0.0100 |
| predicted_AB | 2.8820 |
| predicted_AVG | 0.2194 |
| predicted_BB | 0.1750 |
| predicted_H | 0.6320 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.2687 |
| predicted_R | 0.4180 |
| predicted_RBI | 0.1810 |
| predicted_SLG | 0.3640 |
| predicted_SO | 0.5650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0330 | 0.0350 | 0.0338 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0141 | model_form_blend |
| predicted_AB | 3.0330 | 2.8820 | 2.9710 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2194 | 0.2309 | model_form_blend |
| predicted_BB | 0.1670 | 0.1750 | 0.1703 | model_form_blend |
| predicted_H | 0.5200 | 0.6320 | 0.5660 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1000 | 0.1210 | 0.1086 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2687 | 0.2724 | model_form_blend |
| predicted_R | 0.3000 | 0.4180 | 0.3485 | model_form_blend |
| predicted_RBI | 0.1900 | 0.1810 | 0.1863 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3640 | 0.3728 | model_form_blend |
| predicted_SO | 0.6170 | 0.5650 | 0.5956 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 206 |
| Season rows before report date | 206 |
| Report year | 2026 |
| Profile rows used | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 663647 |
| playerID | 663647 |
| playerName | Ke'Bryan Hayes |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.207 |
| sl_xwoba | 0.303 |
| sl_xba | 0.247 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 39.0 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.071 | 2.000 | -0.071 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.571 | 0.000 | -0.571 | 2.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 5.214 | 3.000 | -1.214 | 1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.986 | 5.000 | 0.014 | 0.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.071 | 2.000 | 1.929 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666157",
"player_name": "Nick Lodolo",
"position": "Starter",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 2.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 6.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 25.000 | 7.000 | 20.000 | 11.000 | 19.000 | 4.000 | 2.5200 | 1.2400 | 0.2800 | 0.8000 | 0.4400 | 0.7600 | 0.1600 |
| last_10 | 0.35 | 10 | 50.200 | 23.000 | 53.000 | 20.000 | 39.000 | 7.000 | 4.0855 | 1.4408 | 0.4540 | 1.0460 | 0.3947 | 0.7697 | 0.1382 |
| season | 0.20 | 14 | 71.200 | 36.000 | 73.000 | 29.000 | 57.000 | 12.000 | 4.5209 | 1.4233 | 0.5023 | 1.0186 | 0.4047 | 0.7954 | 0.1674 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0190 |
| predicted_ER | 2.0790 |
| predicted_ERA | 3.7425 |
| predicted_H | 4.7050 |
| predicted_HR | 0.7600 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.0910 |
| predicted_WHIP | 1.3448 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.0190 | 2.0102 | model_form_blend |
| predicted_ER | 2.0000 | 2.0790 | 2.0426 | model_form_blend |
| predicted_ERA | - | 3.7425 | 3.7425 | form_only |
| predicted_H | 4.0000 | 4.7050 | 4.3799 | model_form_blend |
| predicted_HR | 1.0000 | 0.7600 | 0.8707 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 6.0000 | 4.0910 | 4.9714 | model_form_blend |
| predicted_WHIP | - | 1.3448 | 1.3448 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 14 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 4 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 6 |
| HR | 1 |
| BF | 23 |
| Pitches | 87 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 19 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.52 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 7 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 73 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 44 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260816_MIA@CIN |
| game_type | full |
| mlbID | 666157 |
| playerID | 666157 |
| playerName | Nick Lodolo |
| pos | P |
| started | True |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-16 |
| game_pk | 824477.0 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.356 |
| sl_xwoba | 0.369 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 38.6 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 46.3 |
| sv_pitch_count | 73.0 |
| sv_outs_recorded_est | 15.0 |
| sv_release_speed | 90.34383561643835 |
| sv_release_spin_rate | 2226.082191780822 |
| sv_effective_speed | 90.13698630136986 |
| sv_launch_speed | 83.25217391304348 |
| sv_launch_angle | 13.565217391304348 |
| sv_woba_value | 4.1 |
| sv_woba_denom | 19.0 |
| sv_delta_run_exp | -1.898 |
| sv_delta_home_win_exp | 0.281 |
| sl_avg_best_speed | 79.717134762 |
| sl_avg_hyper_speed | 94.627959 |
| 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.569 | 3.000 | -0.569 | -3.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.292 | 0.000 | 1.708 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.723 | 2.000 | 2.277 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.828 | 0.200 | 0.172 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.969 | 1.000 | -0.969 | -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": "656271",
"player_name": "Brock Burke",
"position": "Middle Reliever (High Leverage)",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 5.000 | 6.000 | 8.000 | 0.000 | 1.9286 | 2.3571 | 0.2143 | 1.0714 | 1.2857 | 1.7143 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 4.000 | 9.000 | 6.000 | 18.000 | 1.000 | 3.6000 | 1.5000 | 0.4000 | 0.9000 | 0.6000 | 1.8000 | 0.1000 |
| season | 0.20 | 65 | 62.200 | 19.000 | 47.000 | 37.000 | 63.000 | 5.000 | 2.7287 | 1.3404 | 0.3032 | 0.7500 | 0.5904 | 1.0053 | 0.0798 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7530 |
| predicted_ER | 0.3550 |
| predicted_ERA | 3.1966 |
| predicted_H | 0.9540 |
| predicted_HR | 0.0780 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.4170 |
| predicted_WHIP | 1.7071 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7530 | 0.3989 | model_form_blend |
| predicted_ER | 2.0000 | 0.3550 | 1.1286 | model_form_blend |
| predicted_ERA | - | 3.1966 | 3.1966 | form_only |
| predicted_H | 3.0000 | 0.9540 | 1.9162 | model_form_blend |
| predicted_HR | 0.0000 | 0.0780 | 0.0413 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.4170 | 0.7506 | model_form_blend |
| predicted_WHIP | - | 1.7071 | 1.7071 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 65 |
| Season rows before report date | 65 |
| Report year | 2026 |
| Profile rows used | 65 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| 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 | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 9 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.73 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 31 |
| Pitching_R | 6 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 656271 |
| playerID | 656271 |
| playerName | Brock Burke |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.294 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 30.5 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 45.4 |
| sl_avg_best_speed | 77.165344375 |
| sl_avg_hyper_speed | 93.159025786 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.310 | 1.000 | -0.310 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.762 | 0.000 | 0.238 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.843 | 1.000 | 0.157 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.929 | 1.000 | 1.071 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "622088",
"player_name": "Tejay Antone",
"position": "Setup Man",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 4.000 | 4.000 | 3.000 | 4.000 | 1.000 | 9.0000 | 1.7500 | 1.0000 | 1.0000 | 0.7500 | 1.0000 | 0.2500 |
| last_10 | 0.35 | 10 | 9.000 | 8.000 | 10.000 | 5.000 | 11.000 | 1.000 | 8.0000 | 1.6667 | 0.8889 | 1.1111 | 0.5556 | 1.2222 | 0.1111 |
| season | 0.20 | 42 | 41.000 | 16.000 | 32.000 | 13.000 | 39.000 | 5.000 | 3.5122 | 1.0976 | 0.3902 | 0.7805 | 0.3171 | 0.9512 | 0.1220 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4610 |
| predicted_ER | 0.6450 |
| predicted_ERA | 6.4020 |
| predicted_H | 0.8940 |
| predicted_HR | 0.1500 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9290 |
| predicted_WHIP | 1.4952 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4610 | 0.2260 | model_form_blend |
| predicted_ER | 0.0000 | 0.6450 | 0.3162 | model_form_blend |
| predicted_ERA | - | 6.4020 | 6.4020 | form_only |
| predicted_H | 1.0000 | 0.8940 | 0.9480 | model_form_blend |
| predicted_HR | 0.0000 | 0.1500 | 0.0735 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9290 | 1.4750 | model_form_blend |
| predicted_WHIP | - | 1.4952 | 1.4952 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 42 |
| Season rows before report date | 42 |
| Report year | 2026 |
| Profile rows used | 42 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.51 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260820_STL@CIN |
| game_type | full |
| mlbID | 622088 |
| playerID | 622088 |
| playerName | Tejay Antone |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-20 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.289 |
| sl_xwoba | 0.292 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 34.5 |
| sl_whiff_percent | 26.6 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 77.454748545 |
| sl_avg_hyper_speed | 93.168116422 |
| 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.290 | 0.000 | -0.290 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.452 | 2.000 | -0.452 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.742 | 2.000 | 0.258 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.916 | 1.000 | 0.084 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 0.000 | -1.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641941",
"player_name": "Emilio Pagán",
"position": "Closer",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 2.000 | 1.000 | 4.000 | 1.000 | 3.6000 | 0.6000 | 0.4000 | 0.4000 | 0.2000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 6.000 | 1.000 | 12.000 | 1.000 | 1.8000 | 0.7000 | 0.2000 | 0.6000 | 0.1000 | 1.2000 | 0.1000 |
| season | 0.20 | 30 | 29.100 | 14.000 | 23.000 | 9.000 | 31.000 | 5.000 | 4.2955 | 1.0909 | 0.4773 | 0.7841 | 0.3068 | 1.0568 | 0.1704 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2280 |
| predicted_ER | 0.3530 |
| predicted_ERA | 3.7531 |
| predicted_H | 0.6290 |
| predicted_HR | 0.1300 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8240 |
| predicted_WHIP | 1.0114 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2280 | 0.1039 | model_form_blend |
| predicted_ER | 0.0000 | 0.3530 | 0.1609 | model_form_blend |
| predicted_ERA | - | 3.7531 | 3.7531 | form_only |
| predicted_H | 1.0000 | 0.6290 | 0.8309 | model_form_blend |
| predicted_HR | 0.0000 | 0.1300 | 0.0593 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8240 | 0.3756 | model_form_blend |
| predicted_WHIP | - | 1.0114 | 1.0114 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.30 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260819_STL@CIN |
| game_type | full |
| mlbID | 641941 |
| playerID | 641941 |
| playerName | Emilio Pagán |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-08-19 |
| game_pk | 824476.0 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.303 |
| sl_xwoba | 0.299 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 10.1 |
| sl_hard_hit_percent | 48.1 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 51.9 |
| sv_pitch_count | 19.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.01052631578948 |
| sv_release_spin_rate | 2360.6315789473683 |
| sv_effective_speed | 91.7 |
| sv_launch_speed | 80.11 |
| sv_launch_angle | 25.6 |
| sv_woba_value | 3.95 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | 1.73 |
| sv_delta_home_win_exp | 0.034 |
| sl_avg_best_speed | 80.34257275 |
| sl_avg_hyper_speed | 94.570156329 |
| Field | Value |
|---|---|
| Pitcher | Eduardo Rodriguez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3323 |
| ESPN Rank | 9 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0896 |
| Avg Velo | 88.3150 |
| Avg Spin | 2173.5923 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 2.7121 |
| Season WHIP | 1.2121 |
| Role Avg IP | 5.9730 |
| Recent Avg IP | 6.5330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234,
"runs_scored": 579.0,
"runs_allowed": 575.0,
"run_differential": 4.0,
"run_differential_per_game": 0.0312,
"avg_runs_scored": 4.5234,
"avg_runs_allowed": 4.4922,
"offense_index": 1.0091,
"defense_index": 0.9979,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0237
},
"opponent": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4766,
"runs_scored": 523.0,
"runs_allowed": 612.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.0859,
"avg_runs_allowed": 4.7812,
"offense_index": 0.9115,
"defense_index": 0.9375,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.2,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1402
},
"edges": {
"quality_edge": 0.1639,
"offense_edge": 0.0091,
"opponent_offense_edge": -0.0885,
"defense_strength": -0.0021,
"opponent_defense_weakness": 0.0625,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.01,
"run_prevention": 0.9779,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "593958",
"profile": {
"available": true,
"pitcher_id": "593958",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 587.0,
"k_percent": 17.3,
"bb_percent": 7.7,
"woba": 0.299,
"xwoba": 0.333,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 35.2,
"avg_best_speed": 76.8074,
"avg_hyper_speed": 93.5465,
"whiff_percent": 20.6,
"swing_percent": 48.0
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1819,
"command_and_miss": -0.485,
"regression_edge": -0.9714,
"xwoba_edge": -0.6,
"barrel_edge": -0.2667,
"hard_hit_edge": 0.3429,
"whiff_edge": -0.6857,
"bb_edge": 0.35,
"pitch_design_score": -0.0896
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "593958",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 97,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.31496087331494,
"release_spin_rate": 2173.5923303089457,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.31496087331494,
"release_spin_rate": 2173.5923303089457,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.315,
"release_spin_rate": 2173.5923,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0896,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6401,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3323,
"sample_weight": 1.0,
"run_prevention_factor": 1.0282,
"strikeout_factor": 0.9446,
"walk_factor": 0.972,
"homer_factor": 1.0256,
"woba_minus_xwoba": -0.034,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "593958",
"espn_id": 32675,
"player_name": "Eduardo Rodriguez",
"team": "ARI",
"role": "pitcher",
"espn_rank": 9,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 9,
"gp_value": 25.0,
"gp_rank": 246,
"gs_value": 25.0,
"gs_rank": 15,
"qs_value": 16.0,
"qs_rank": 4,
"era_value": 2.712,
"era_rank": 10.0,
"w_value": 12.0,
"w_rank": 9,
"l_value": 4.0,
"l_rank": 153,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 149.1,
"ip_rank": 9,
"h_value": 134.0,
"h_rank": 18,
"er_value": 45.0,
"er_rank": 102,
"hr_value": 14.0,
"hr_rank": 82,
"bb_value": 47.0,
"bb_rank": 29,
"k_value": 106.0,
"k_rank": 74,
"k_per_9_value": 6.388393,
"k_per_9_rank": 222.0,
"whip_value": 1.212,
"whip_rank": 32.0,
"war_value": 4.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0282,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 1.0282,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.972,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0256,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9446,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 61.0,
"ER": 21,
"H": 60,
"BB": 12,
"SO": 41,
"HR": 5,
"ERA": 3.0983606557377055,
"WHIP": 1.1803278688524592,
"K9": 6.049180327868853,
"HR9": 0.7377049180327869,
"games_pitched": 10,
"quality_starts": 8,
"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": "593958",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 97,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.31496087331494,
"release_spin_rate": 2173.5923303089457,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 88.31496087331494,
"release_spin_rate": 2173.5923303089457,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.315,
"release_spin_rate": 2173.5923,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0896,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6401,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "593958",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.2,
"ER": 11.0,
"R": 13.0,
"H": 33.0,
"BB": 6.0,
"SO": 24.0,
"HR": 2.0,
"BF": 135.0,
"Pitches": 516.0
},
"per_game": {
"IP": 6.2,
"ER": 2.2,
"R": 2.6,
"H": 6.6,
"BB": 1.2,
"SO": 4.8,
"HR": 0.4,
"BF": 27.0,
"Pitches": 103.2
},
"rates": {
"ERA": 3.0306,
"WHIP": 1.1939,
"ER_per_IP": 0.33673,
"H_per_IP": 1.0102,
"BB_per_IP": 0.18367,
"SO_per_IP": 0.73469,
"HR_per_IP": 0.06122
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.0,
"ER": 21.0,
"R": 23.0,
"H": 60.0,
"BB": 12.0,
"SO": 41.0,
"HR": 5.0,
"BF": 250.0,
"Pitches": 959.0
},
"per_game": {
"IP": 6.0,
"ER": 2.1,
"R": 2.3,
"H": 6.0,
"BB": 1.2,
"SO": 4.1,
"HR": 0.5,
"BF": 25.0,
"Pitches": 95.9
},
"rates": {
"ERA": 3.0984,
"WHIP": 1.1803,
"ER_per_IP": 0.34426,
"H_per_IP": 0.98361,
"BB_per_IP": 0.19672,
"SO_per_IP": 0.67213,
"HR_per_IP": 0.08197
}
},
"season": {
"games": 25,
"totals": {
"IP": 149.1,
"ER": 45.0,
"R": 49.0,
"H": 134.0,
"BB": 47.0,
"SO": 106.0,
"HR": 14.0,
"BF": 613.0,
"Pitches": 2371.0
},
"per_game": {
"IP": 6.0,
"ER": 1.8,
"R": 1.96,
"H": 5.36,
"BB": 1.88,
"SO": 4.24,
"HR": 0.56,
"BF": 24.52,
"Pitches": 94.84
},
"rates": {
"ERA": 2.7121,
"WHIP": 1.2121,
"ER_per_IP": 0.30134,
"H_per_IP": 0.89732,
"BB_per_IP": 0.31473,
"SO_per_IP": 0.70982,
"HR_per_IP": 0.09375
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.273,
"predicted_H": 6.163,
"predicted_BB": 1.512,
"predicted_SO": 4.72,
"predicted_HR": 0.549,
"predicted_ERA": 3.244,
"predicted_WHIP": 1.2171
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4204,
"form_weight": 0.5796,
"form_reliability": 0.8333,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.273,
"final": 2.5787,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 6.163,
"final": 6.0945,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.512,
"final": 1.7172,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.72,
"final": 4.4173,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.549,
"final": 0.7386,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.244,
"final": 3.244,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2171,
"final": 1.2171,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brandyn Garcia |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4745 |
| ESPN Rank | 162 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2074 |
| Avg Velo | 93.6185 |
| Avg Spin | 2388.7163 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 1.7419 |
| Season WHIP | 0.6774 |
| Role Avg IP | 0.8610 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234,
"runs_scored": 579.0,
"runs_allowed": 575.0,
"run_differential": 4.0,
"run_differential_per_game": 0.0312,
"avg_runs_scored": 4.5234,
"avg_runs_allowed": 4.4922,
"offense_index": 1.0091,
"defense_index": 0.9979,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0237
},
"opponent": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4766,
"runs_scored": 523.0,
"runs_allowed": 612.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.0859,
"avg_runs_allowed": 4.7812,
"offense_index": 0.9115,
"defense_index": 0.9375,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.2,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1402
},
"edges": {
"quality_edge": 0.1639,
"offense_edge": 0.0091,
"opponent_offense_edge": -0.0885,
"defense_strength": -0.0021,
"opponent_defense_weakness": 0.0625,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.01,
"run_prevention": 0.9779,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "805299",
"profile": {
"available": true,
"pitcher_id": "805299",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 107.0,
"k_percent": 30.4,
"bb_percent": 6.5,
"woba": 0.225,
"xwoba": 0.235,
"sweet_spot_percent": 19.3,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 33.7,
"avg_best_speed": 78.4757,
"avg_hyper_speed": 93.9625,
"whiff_percent": 26.8,
"swing_percent": 44.7
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.5667,
"command_and_miss": 0.7271,
"regression_edge": -0.2857,
"xwoba_edge": 2.2,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.5571,
"whiff_edge": 0.2,
"bb_edge": 0.65,
"pitch_design_score": 0.2074
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "805299",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.61852378705493,
"release_spin_rate": 2388.716302302561,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.61852378705493,
"release_spin_rate": 2388.716302302561,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6185,
"release_spin_rate": 2388.7163,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2074,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4813,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4745,
"sample_weight": 0.45,
"run_prevention_factor": 0.9597,
"strikeout_factor": 1.0247,
"walk_factor": 0.9766,
"homer_factor": 0.9419,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805299",
"espn_id": 5202600,
"player_name": "Brandyn Garcia",
"team": "ARI",
"role": "pitcher",
"espn_rank": 162,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 162,
"gp_value": 43.0,
"gp_rank": 113,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.477,
"era_rank": null,
"w_value": 0.0,
"w_rank": 497,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 4.0,
"sv_rank": 48,
"hld_value": 13.0,
"hld_rank": 37,
"ip_value": 36.1,
"ip_rank": 358,
"h_value": 21.0,
"h_rank": 463,
"er_value": 10.0,
"er_rank": 487,
"hr_value": 2.0,
"hr_rank": 480,
"bb_value": 9.0,
"bb_rank": 474,
"k_value": 42.0,
"k_rank": 304,
"k_per_9_value": 10.40367,
"k_per_9_rank": 22.0,
"whip_value": 0.8256,
"whip_rank": null,
"war_value": 1.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9819,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9819,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9895,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9739,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0111,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 2,
"H": 5,
"BB": 1,
"SO": 10,
"HR": 0,
"ERA": 2.25,
"WHIP": 0.75,
"K9": 11.25,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-03T00:00:00"
}{
"available": true,
"pitcher_id": "805299",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.61852378705493,
"release_spin_rate": 2388.716302302561,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 93.61852378705493,
"release_spin_rate": 2388.716302302561,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6185,
"release_spin_rate": 2388.7163,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2074,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4813,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.215,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5542,
"prior_weight": 0.4458
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "805299",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 3.0,
"H": 4.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.8
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1538,
"ER_per_IP": 0.46154,
"H_per_IP": 0.92308,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 1.0,
"SO": 10.0,
"HR": 0.0,
"BF": 30.0,
"Pitches": 109.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.1,
"SO": 1.0,
"HR": 0.0,
"BF": 3.0,
"Pitches": 10.9
},
"rates": {
"ERA": 2.25,
"WHIP": 0.75,
"ER_per_IP": 0.25,
"H_per_IP": 0.625,
"BB_per_IP": 0.125,
"SO_per_IP": 1.25,
"HR_per_IP": 0.0
}
},
"season": {
"games": 36,
"totals": {
"IP": 31.0,
"ER": 6.0,
"R": 7.0,
"H": 15.0,
"BB": 6.0,
"SO": 36.0,
"HR": 0.0,
"BF": 112.0,
"Pitches": 399.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1944,
"H": 0.4167,
"BB": 0.1667,
"SO": 1.0,
"HR": 0.0,
"BF": 3.1111,
"Pitches": 11.0833
},
"rates": {
"ERA": 1.7419,
"WHIP": 0.6774,
"ER_per_IP": 0.19355,
"H_per_IP": 0.48387,
"BB_per_IP": 0.19355,
"SO_per_IP": 1.16129,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.382,
"predicted_H": 0.784,
"predicted_BB": 0.249,
"predicted_SO": 1.067,
"predicted_HR": 0.061,
"predicted_ERA": 3.6762,
"predicted_WHIP": 1.1051
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5384,
"form_weight": 0.4616,
"form_reliability": 0.5542,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.215,
"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.382,
"final": 0.1764,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.784,
"final": 0.3619,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.249,
"final": 0.6533,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.067,
"final": 2.1076,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0282,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6762,
"final": 3.6762,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1051,
"final": 1.1051,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Juan Morillo |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7559 |
| ESPN Rank | 93 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.2171 |
| Avg Spin | 2315.0053 |
| 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.5435 |
| Season WHIP | 0.9783 |
| Role Avg IP | 0.9580 |
| Recent Avg IP | 1.0670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234,
"runs_scored": 579.0,
"runs_allowed": 575.0,
"run_differential": 4.0,
"run_differential_per_game": 0.0312,
"avg_runs_scored": 4.5234,
"avg_runs_allowed": 4.4922,
"offense_index": 1.0091,
"defense_index": 0.9979,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0237
},
"opponent": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4766,
"runs_scored": 523.0,
"runs_allowed": 612.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.0859,
"avg_runs_allowed": 4.7812,
"offense_index": 0.9115,
"defense_index": 0.9375,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.2,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1402
},
"edges": {
"quality_edge": 0.1639,
"offense_edge": 0.0091,
"opponent_offense_edge": -0.0885,
"defense_strength": -0.0021,
"opponent_defense_weakness": 0.0625,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.01,
"run_prevention": 0.9779,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666661",
"profile": {
"available": true,
"pitcher_id": "666661",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 174.0,
"k_percent": 29.1,
"bb_percent": 8.9,
"woba": 0.249,
"xwoba": 0.238,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 31.5,
"avg_best_speed": 73.9756,
"avg_hyper_speed": 92.9719,
"whiff_percent": 30.8,
"swing_percent": 48.9
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.5074,
"command_and_miss": 0.7236,
"regression_edge": 0.3143,
"xwoba_edge": 2.1143,
"barrel_edge": 0.8444,
"hard_hit_edge": 0.8714,
"whiff_edge": 0.7714,
"bb_edge": 0.05,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666661",
"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": 95.21706573791943,
"release_spin_rate": 2315.0052952223436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 95.21706573791943,
"release_spin_rate": 2315.0052952223436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.2171,
"release_spin_rate": 2315.0053,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.7559,
"sample_weight": 0.696,
"run_prevention_factor": 0.9357,
"strikeout_factor": 1.0489,
"walk_factor": 0.9972,
"homer_factor": 0.8846,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666661",
"espn_id": 4722925,
"player_name": "Juan Morillo",
"team": "ARI",
"role": "pitcher",
"espn_rank": 93,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 93,
"gp_value": 54.0,
"gp_rank": 34,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.3245,
"era_rank": null,
"w_value": 3.0,
"w_rank": 221,
"l_value": 4.0,
"l_rank": 153,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 16.0,
"hld_rank": 23,
"ip_value": 50.1,
"ip_rank": 254,
"h_value": 35.0,
"h_rank": 330,
"er_value": 13.0,
"er_rank": 412,
"hr_value": 2.0,
"hr_rank": 480,
"bb_value": 18.0,
"bb_rank": 288,
"k_value": 59.0,
"k_rank": 195,
"k_per_9_value": 10.549668,
"k_per_9_rank": 20.0,
"whip_value": 1.0529,
"whip_rank": null,
"war_value": 1.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9552,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9552,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9981,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9197,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.034,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 1,
"H": 4,
"BB": 3,
"SO": 12,
"HR": 0,
"ERA": 0.84375,
"WHIP": 0.65625,
"K9": 10.125,
"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-03T00:00:00"
}{
"available": true,
"pitcher_id": "666661",
"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": 95.21706573791943,
"release_spin_rate": 2315.0052952223436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 95.21706573791943,
"release_spin_rate": 2315.0052952223436,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.2171,
"release_spin_rate": 2315.0053,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 9.222,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6484,
"prior_weight": 0.3516
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "666661",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.375,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.0,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 3.0,
"SO": 12.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 153.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.3,
"SO": 1.2,
"HR": 0.0,
"BF": 3.7,
"Pitches": 15.3
},
"rates": {
"ERA": 0.8438,
"WHIP": 0.6562,
"ER_per_IP": 0.09375,
"H_per_IP": 0.375,
"BB_per_IP": 0.28125,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 48,
"totals": {
"IP": 46.0,
"ER": 13.0,
"R": 15.0,
"H": 29.0,
"BB": 16.0,
"SO": 55.0,
"HR": 2.0,
"BF": 183.0,
"Pitches": 724.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2708,
"R": 0.3125,
"H": 0.6042,
"BB": 0.3333,
"SO": 1.1458,
"HR": 0.0417,
"BF": 3.8125,
"Pitches": 15.0833
},
"rates": {
"ERA": 2.5435,
"WHIP": 0.9783,
"ER_per_IP": 0.28261,
"H_per_IP": 0.63043,
"BB_per_IP": 0.34783,
"SO_per_IP": 1.19565,
"HR_per_IP": 0.04348
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.234,
"predicted_H": 0.618,
"predicted_BB": 0.238,
"predicted_SO": 1.128,
"predicted_HR": 0.057,
"predicted_ERA": 2.1072,
"predicted_WHIP": 0.8559
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4986,
"form_weight": 0.5014,
"form_reliability": 0.6484,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.222,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6484,
"prior_weight": 0.3516
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.234,
"final": 0.1173,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.618,
"final": 0.8084,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.238,
"final": 0.1193,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.128,
"final": 1.0642,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.057,
"final": 0.0286,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1072,
"final": 2.1072,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8559,
"final": 0.8559,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jonathan Loáisiga |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3014 |
| ESPN Rank | 145 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2508 |
| Avg Velo | 94.3933 |
| Avg Spin | 2232.2697 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.8000 |
| Season WHIP | 1.1111 |
| Role Avg IP | 0.9380 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 128,
"wins": 67,
"losses": 61,
"win_pct": 0.5234,
"runs_scored": 579.0,
"runs_allowed": 575.0,
"run_differential": 4.0,
"run_differential_per_game": 0.0312,
"avg_runs_scored": 4.5234,
"avg_runs_allowed": 4.4922,
"offense_index": 1.0091,
"defense_index": 0.9979,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.5,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.0237
},
"opponent": {
"team": "CIN",
"games": 128,
"wins": 61,
"losses": 67,
"win_pct": 0.4766,
"runs_scored": 523.0,
"runs_allowed": 612.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.0859,
"avg_runs_allowed": 4.7812,
"offense_index": 0.9115,
"defense_index": 0.9375,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 5.2,
"run_differential": -16.0
},
"available": true,
"quality_score": -0.1402
},
"edges": {
"quality_edge": 0.1639,
"offense_edge": 0.0091,
"opponent_offense_edge": -0.0885,
"defense_strength": -0.0021,
"opponent_defense_weakness": 0.0625,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.01,
"run_prevention": 0.9779,
"strikeout": 1.012
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642528",
"profile": {
"available": true,
"pitcher_id": "642528",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 171.0,
"k_percent": 17.8,
"bb_percent": 5.4,
"woba": 0.269,
"xwoba": 0.275,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 33.1,
"avg_best_speed": 74.7186,
"avg_hyper_speed": 93.216,
"whiff_percent": 22.5,
"swing_percent": 52.8
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8943,
"command_and_miss": -0.2429,
"regression_edge": -0.1714,
"xwoba_edge": 1.0571,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.6429,
"whiff_edge": -0.4143,
"bb_edge": 0.925,
"pitch_design_score": 0.2508
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642528",
"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": 94.39330928614196,
"release_spin_rate": 2232.2697143653386,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.39330928614196,
"release_spin_rate": 2232.2697143653386,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.3933,
"release_spin_rate": 2232.2697,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2508,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.7912,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.3014,
"sample_weight": 0.684,
"run_prevention_factor": 0.9744,
"strikeout_factor": 0.9715,
"walk_factor": 0.9494,
"homer_factor": 0.9291,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642528",
"espn_id": 39807,
"player_name": "Jonathan Loaisiga",
"team": "ARI",
"role": "pitcher",
"espn_rank": 145,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 145,
"gp_value": 53.0,
"gp_rank": 44,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.6298,
"era_rank": null,
"w_value": 4.0,
"w_rank": 162,
"l_value": 3.0,
"l_rank": 210,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 8.0,
"hld_rank": 97,
"ip_value": 51.1,
"ip_rank": 246,
"h_value": 44.0,
"h_rank": 250,
"er_value": 15.0,
"er_rank": 372,
"hr_value": 3.0,
"hr_rank": 404,
"bb_value": 11.0,
"bb_rank": 428,
"k_value": 36.0,
"k_rank": 346,
"k_per_9_value": 6.311688,
"k_per_9_rank": 37.0,
"whip_value": 1.0714,
"whip_rank": null,
"war_value": 1.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9825,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9825,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9654,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9515,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9805,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 5,
"H": 10,
"BB": 4,
"SO": 10,
"HR": 1,
"ERA": 4.655172413793104,
"WHIP": 1.4482758620689655,
"K9": 9.310344827586208,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-04T00:00:00"
}{
"available": true,
"pitcher_id": "642528",
"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": 94.39330928614196,
"release_spin_rate": 2232.2697143653386,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.39330928614196,
"release_spin_rate": 2232.2697143653386,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.3933,
"release_spin_rate": 2232.2697,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2508,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.7912,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.021,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6434,
"prior_weight": 0.3566
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "642528",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 48,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 2.0,
"SO": 3.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.6,
"BB": 0.4,
"SO": 0.6,
"HR": 0.2,
"BF": 4.8,
"Pitches": 16.2
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 1.6,
"BB_per_IP": 0.4,
"SO_per_IP": 0.6,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 4.0,
"SO": 10.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 155.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.1,
"BF": 4.2,
"Pitches": 15.5
},
"rates": {
"ERA": 4.6552,
"WHIP": 1.4483,
"ER_per_IP": 0.51724,
"H_per_IP": 1.03448,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.03448,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 48,
"totals": {
"IP": 45.0,
"ER": 14.0,
"R": 15.0,
"H": 39.0,
"BB": 11.0,
"SO": 32.0,
"HR": 2.0,
"BF": 180.0,
"Pitches": 675.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2917,
"R": 0.3125,
"H": 0.8125,
"BB": 0.2292,
"SO": 0.6667,
"HR": 0.0417,
"BF": 3.75,
"Pitches": 14.0625
},
"rates": {
"ERA": 2.8,
"WHIP": 1.1111,
"ER_per_IP": 0.31111,
"H_per_IP": 0.86667,
"BB_per_IP": 0.24444,
"SO_per_IP": 0.71111,
"HR_per_IP": 0.04444
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.55,
"predicted_H": 1.017,
"predicted_BB": 0.327,
"predicted_SO": 0.738,
"predicted_HR": 0.123,
"predicted_ERA": 5.6228,
"predicted_WHIP": 1.5256
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5007,
"form_weight": 0.4993,
"form_reliability": 0.6434,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.021,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6434,
"prior_weight": 0.3566
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.55,
"final": 0.2746,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.017,
"final": 0.5078,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.327,
"final": 0.1633,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.738,
"final": 0.8692,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.123,
"final": 0.0614,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6228,
"final": 5.6228,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5256,
"final": 1.5256,
"source": "form_only"
}
}
}{
"available": false,
"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.163 | 0.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 3.500 | 5.000 | 4.000 | Hitting_AB | 3.780 | 5.000 | 1.220 | 0.000 |
| predicted_AVG | 0.264 | 0.200 | 0.250 | Hitting_AVG | 0.277 | 0.200 | -0.077 | 0.000 |
| predicted_BB | 0.202 | 0.000 | 0.000 | Hitting_BB | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.923 | 1.000 | 1.000 | Hitting_H | 1.045 | 1.000 | -0.045 | 0.000 |
| predicted_HR | 0.087 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.304 | 0.200 | 0.250 | Hitting_OBP | 0.318 | 0.200 | -0.118 | 0.000 |
| predicted_R | 0.471 | 1.000 | 1.000 | Hitting_R | 0.551 | 0.000 | 0.449 | 1.000 |
| predicted_RBI | 0.577 | 1.000 | 1.000 | Hitting_RBI | 0.652 | 0.000 | 0.348 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_SLG | 0.407 | 0.200 | 0.250 | Hitting_SLG | 0.426 | 0.200 | -0.226 | 0.000 |
| predicted_SO | 0.365 | 1.000 | 0.000 | Hitting_SO | 0.414 | 1.000 | 0.586 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.5000 -> 5.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_BB: 0.2020 -> 0.0000 (deboost -0.2020, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3040 -> 0.2877 (deboost -0.0163, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4100 -> 0.4156 (boost 0.0056, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_AB: 3.5412 -> 4.0000 (boost 0.4588, better) | predicted_SO: 0.3746 -> 0.0000 (deboost -0.3746, better) | AB rounded to 4 (raw=3.54), rates preserved: AVG=0.255 HR/AB=0.035 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5032 -> 1.0000 (boost 0.4968, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4156 -> 0.4300 (boost 0.0144, better) | predicted_AVG: 0.2550 -> 0.2490 (deboost -0.0060, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2490 -> 0.2550 (boost 0.0060, better) | predicted_SLG: 0.4300 -> 0.4156 (deboost -0.0144, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "545121",
"player_name": "Ildemaro Vargas",
"position": "2B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.163,
"predicted_3B": 0.038,
"predicted_AB": 3.5,
"predicted_AVG": 0.264,
"predicted_BB": 0.202,
"predicted_H": 0.923,
"predicted_HR": 0.087,
"predicted_OBP": 0.304,
"predicted_R": 0.471,
"predicted_RBI": 0.577,
"predicted_SLG": 0.407,
"predicted_SO": 0.365
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1385,
"predicted_3B": 0.0316,
"predicted_AB": 3.5412,
"predicted_AVG": 0.2514,
"predicted_BB": 0.181,
"predicted_H": 0.8891,
"predicted_HBP": 0.008,
"predicted_HR": 0.1205,
"predicted_OBP": 0.2877,
"predicted_R": 0.4899,
"predicted_RBI": 0.5843,
"predicted_SLG": 0.41,
"predicted_SO": 0.3766
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.1385,
"delta": -0.0245,
"percent_delta": -0.1503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0316,
"delta": -0.0064,
"percent_delta": -0.1684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 3.5412,
"delta": 0.0412,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2514,
"delta": -0.0126,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.202,
"after": 0.181,
"delta": -0.021,
"percent_delta": -0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.923,
"after": 0.8891,
"delta": -0.0339,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.087,
"after": 0.1205,
"delta": 0.0335,
"percent_delta": 0.3851,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2877,
"delta": -0.0163,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4899,
"delta": 0.0189,
"percent_delta": 0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.577,
"after": 0.5843,
"delta": 0.0073,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.41,
"delta": 0.003,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.365,
"after": 0.3766,
"delta": 0.0116,
"percent_delta": 0.0318,
"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.304,
"after": 0.2877,
"delta": -0.0163,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 104
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1385,
"predicted_3B": 0.0316,
"predicted_AB": 3.5412,
"predicted_AVG": 0.255,
"predicted_BB": 0.182,
"predicted_H": 0.9029,
"predicted_HBP": 0.008,
"predicted_HR": 0.1224,
"predicted_OBP": 0.2914,
"predicted_R": 0.5032,
"predicted_RBI": 0.6001,
"predicted_SLG": 0.4156,
"predicted_SO": 0.3746
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1385,
"after": 0.1385,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0316,
"after": 0.0316,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5412,
"after": 3.5412,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2514,
"after": 0.255,
"delta": 0.0036,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.181,
"after": 0.182,
"delta": 0.001,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8891,
"after": 0.9029,
"delta": 0.0138,
"percent_delta": 0.0155,
"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.1205,
"after": 0.1224,
"delta": 0.0019,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2877,
"after": 0.2914,
"delta": 0.0037,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4899,
"after": 0.5032,
"delta": 0.0133,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5843,
"after": 0.6001,
"delta": 0.0158,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4156,
"delta": 0.0056,
"percent_delta": 0.0137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3766,
"after": 0.3746,
"delta": -0.002,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4156,
"delta": 0.0056,
"percent_delta": 0.0137,
"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.54), rates preserved: AVG=0.255 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1385,
"after": 0.0,
"delta": -0.1385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0316,
"after": 0.0,
"delta": -0.0316,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5412,
"after": 4.0,
"delta": 0.4588,
"percent_delta": 0.1296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9029,
"after": 1.0,
"delta": 0.0971,
"percent_delta": 0.1075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1224,
"after": 0.0,
"delta": -0.1224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6001,
"after": 1.0,
"delta": 0.3999,
"percent_delta": 0.6664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3746,
"after": 0.0,
"delta": -0.3746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5412,
"after": 4.0,
"delta": 0.4588,
"percent_delta": 0.1296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3746,
"after": 0.0,
"delta": -0.3746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9,
"bvp": 0.1
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5032,
"after": 1.0,
"delta": 0.4968,
"percent_delta": 0.9873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5032,
"after": 1.0,
"delta": 0.4968,
"percent_delta": 0.9873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.249,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.43,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.249,
"delta": -0.006,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2914,
"after": 0.295,
"delta": 0.0036,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4156,
"after": 0.43,
"delta": 0.0144,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4156,
"after": 0.43,
"delta": 0.0144,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.249,
"delta": -0.006,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "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.255,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2914,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4156,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.249,
"after": 0.255,
"delta": 0.006,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2914,
"delta": -0.0036,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4156,
"delta": -0.0144,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.255,
"delta": 0.006,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4156,
"delta": -0.0144,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 5.0,
"delta": 1.5,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.255,
"delta": -0.009,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.923,
"after": 1.0,
"delta": 0.077,
"percent_delta": 0.0834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.087,
"after": 0.0,
"delta": -0.087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2914,
"delta": -0.0126,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.577,
"after": 1.0,
"delta": 0.423,
"percent_delta": 0.7331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4156,
"delta": 0.0086,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.365,
"after": 1.0,
"delta": 0.635,
"percent_delta": 1.7397,
"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": 3.5,
"after": 5.0,
"delta": 1.5,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.202 | - |
| predicted_H | 0.923 | - |
| predicted_HR | 0.087 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.577 | - |
| predicted_SLG | 0.407 | - |
| predicted_SO | 0.365 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | -0.024 |
| predicted_3B | 0.032 | -0.006 |
| predicted_AB | 3.541 | 0.041 |
| predicted_AVG | 0.251 | -0.013 |
| predicted_BB | 0.181 | -0.021 |
| predicted_H | 0.889 | -0.034 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.120 | 0.034 |
| predicted_OBP | 0.288 | -0.016 |
| predicted_R | 0.490 | 0.019 |
| predicted_RBI | 0.584 | 0.007 |
| predicted_SLG | 0.410 | 0.003 |
| predicted_SO | 0.377 | 0.012 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 3.541 | 0.000 |
| predicted_AVG | 0.255 | 0.004 |
| predicted_BB | 0.182 | 0.001 |
| predicted_H | 0.903 | 0.014 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.122 | 0.002 |
| predicted_OBP | 0.291 | 0.004 |
| predicted_R | 0.503 | 0.013 |
| predicted_RBI | 0.600 | 0.016 |
| predicted_SLG | 0.416 | 0.006 |
| predicted_SO | 0.375 | -0.002 |
AB rounded to 4 (raw=3.54), rates preserved: AVG=0.255 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 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.139 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 4.000 | 0.459 |
| predicted_AVG | 0.249 | -0.006 |
| predicted_BB | 0.000 | -0.182 |
| predicted_H | 1.000 | 0.097 |
| predicted_HR | 0.000 | -0.122 |
| predicted_OBP | 0.295 | 0.004 |
| predicted_R | 1.000 | 0.497 |
| predicted_RBI | 1.000 | 0.400 |
| predicted_SLG | 0.430 | 0.014 |
| predicted_SO | 0.000 | -0.375 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 0.000 | 0.000 | 2.000 | 4.000 | 4.000 | 0.000 | 2.000 | 0.2000 | 0.2000 | 0.5000 | 0.2000 | 0.1000 | 0.2000 | 0.0000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 34.000 | 6.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 1.000 | 3.000 | 0.1765 | 0.2000 | 0.3529 | 0.1765 | 0.0588 | 0.1471 | 0.0294 | 0.0882 |
| season | 0.60 | 104 | - | 364.000 | 96.000 | 17.000 | 4.000 | 9.000 | 60.000 | 49.000 | 21.000 | 38.000 | 0.2637 | 0.3049 | 0.4066 | 0.2637 | 0.0247 | 0.1648 | 0.0577 | 0.1044 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1060 |
| predicted_3B | 0.0230 |
| predicted_AB | 3.5960 |
| predicted_AVG | 0.2346 |
| predicted_BB | 0.1530 |
| predicted_H | 0.8440 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1650 |
| predicted_OBP | 0.2660 |
| predicted_R | 0.5150 |
| predicted_RBI | 0.5940 |
| predicted_SLG | 0.4141 |
| predicted_SO | 0.3920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.1060 | 0.1385 | model_form_blend |
| predicted_3B | 0.0380 | 0.0230 | 0.0316 | model_form_blend |
| predicted_AB | 3.5000 | 3.5960 | 3.5412 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2346 | 0.2514 | model_form_blend |
| predicted_BB | 0.2020 | 0.1530 | 0.1810 | model_form_blend |
| predicted_H | 0.9230 | 0.8440 | 0.8891 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0870 | 0.1650 | 0.1205 | model_form_blend |
| predicted_OBP | 0.3040 | 0.2660 | 0.2877 | model_form_blend |
| predicted_R | 0.4710 | 0.5150 | 0.4899 | model_form_blend |
| predicted_RBI | 0.5770 | 0.5940 | 0.5843 | model_form_blend |
| predicted_SLG | 0.4070 | 0.4141 | 0.4100 | model_form_blend |
| predicted_SO | 0.3650 | 0.3920 | 0.3766 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 396 |
| Season rows before report date | 396 |
| Report year | 2026 |
| Profile rows used | 104 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 545121 |
| playerID | 545121 |
| playerName | Ildemaro Vargas |
| pos | 1B |
| started | True |
| startingPosition | 2B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 9.7 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.311 |
| sl_xwoba | 0.31 |
| sl_xba | 0.279 |
| sl_xslg | 0.382 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 35.5 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 15.2 |
| sl_swing_percent | 50.3 |
| at_bat_number | 73.0 |
| ab_pitcher | 547973.0 |
| ab_pitcher_name | Chapman, Aroldis |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_1b_start | 814439.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 5.0 |
| ab_event | field_out |
| ab_event_description | Ildemaro Vargas flies out to right fielder Wilyer Abreu. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 72.2 |
| ab_launch_angle_last | 37.0 |
| ab_hit_distance_last | 243.0 |
| ab_estimated_ba_last | 0.46 |
| ab_estimated_woba_last | 0.429 |
| ab_estimated_slg_last | 0.516 |
| 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 | 5.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 94.2 |
| ab_release_spin_rate_avg | 2370.0 |
| ab_effective_speed_avg | 95.7 |
| ab_launch_speed_avg | 72.2 |
| ab_launch_angle_avg | 37.0 |
| ab_delta_run_exp_avg | -0.251 |
| ab_delta_home_win_exp_avg | 0.081 |
| ab_delta_pitcher_run_exp_avg | 0.251 |
| ab_bat_speed_avg | 73.8 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 72.2 |
| ab_hit_distance_sc_max | 243.0 |
| ab_release_speed_max | 94.2 |
| ab_release_spin_rate_max | 2370.0 |
| ab_release_speed_min | 94.2 |
| ab_release_spin_rate_min | 2370.0 |
| ab_delta_run_exp_sum | -0.251 |
| ab_delta_home_win_exp_sum | 0.081 |
| ab_delta_pitcher_run_exp_sum | 0.251 |
| 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.168 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.454 | 3.000 | 4.000 | Hitting_AB | 3.596 | 5.000 | -0.596 | -2.000 |
| predicted_AVG | 0.243 | 0.000 | 0.250 | Hitting_AVG | 0.244 | 0.400 | -0.244 | -0.400 |
| predicted_BB | 0.353 | 0.000 | 0.000 | Hitting_BB | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.879 | 2.000 | -0.879 | -2.000 |
| predicted_HR | 0.168 | 0.000 | 1.000 | Hitting_HR | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_OBP | 0.313 | 0.250 | 0.250 | Hitting_OBP | 0.326 | 0.400 | -0.076 | -0.150 |
| predicted_R | 0.496 | 0.000 | 1.000 | Hitting_R | 0.536 | 1.000 | -0.536 | -1.000 |
| predicted_RBI | 0.529 | 0.000 | 1.000 | Hitting_RBI | 0.577 | 1.000 | -0.577 | -1.000 |
| predicted_SLG | 0.443 | 0.000 | 1.000 | Hitting_SLG | 0.449 | 0.400 | -0.449 | -0.400 |
| predicted_SO | 0.807 | 2.000 | 1.000 | Hitting_SO | 0.834 | 3.000 | 1.166 | -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.8070 -> 2.0000 (boost 1.1930, worse) |
| Biggest Deboost | predicted_H: 0.8400 -> 0.0000 (deboost -0.8400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_RBI: 0.5290 -> 0.6012 (boost 0.0722, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4641 -> 0.4707 (boost 0.0066, 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.5193 -> 4.0000 (boost 0.4807, better) | predicted_BB: 0.3527 -> 0.0000 (deboost -0.3527, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.246 HR/AB=0.059 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5423 -> 1.0000 (boost 0.4577, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 6 | 2 | 4 | 1 | 5 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4390 -> 0.4707 (boost 0.0317, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571448",
"player_name": "Nolan Arenado",
"position": "DH",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.168,
"predicted_3B": 0.008,
"predicted_AB": 3.454,
"predicted_AVG": 0.243,
"predicted_BB": 0.353,
"predicted_H": 0.84,
"predicted_HR": 0.168,
"predicted_OBP": 0.313,
"predicted_R": 0.496,
"predicted_RBI": 0.529,
"predicted_SLG": 0.443,
"predicted_SO": 0.807
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1425,
"predicted_3B": 0.0149,
"predicted_AB": 3.5193,
"predicted_AVG": 0.2422,
"predicted_BB": 0.3508,
"predicted_H": 0.8525,
"predicted_HBP": 0.036,
"predicted_HR": 0.203,
"predicted_OBP": 0.313,
"predicted_R": 0.528,
"predicted_RBI": 0.6012,
"predicted_SLG": 0.4641,
"predicted_SO": 0.8385
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.168,
"after": 0.1425,
"delta": -0.0255,
"percent_delta": -0.1518,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0149,
"delta": 0.0069,
"percent_delta": 0.8625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.454,
"after": 3.5193,
"delta": 0.0653,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2422,
"delta": -0.0008,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.3508,
"delta": -0.0022,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8525,
"delta": 0.0125,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.168,
"after": 0.203,
"delta": 0.035,
"percent_delta": 0.2083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.313,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.496,
"after": 0.528,
"delta": 0.032,
"percent_delta": 0.0645,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.529,
"after": 0.6012,
"delta": 0.0722,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4641,
"delta": 0.0211,
"percent_delta": 0.0476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.807,
"after": 0.8385,
"delta": 0.0315,
"percent_delta": 0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.529,
"after": 0.6012,
"delta": 0.0722,
"percent_delta": 0.1365,
"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": 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.1425,
"predicted_3B": 0.0149,
"predicted_AB": 3.5193,
"predicted_AVG": 0.246,
"predicted_BB": 0.3527,
"predicted_H": 0.8657,
"predicted_HBP": 0.036,
"predicted_HR": 0.2061,
"predicted_OBP": 0.3147,
"predicted_R": 0.5423,
"predicted_RBI": 0.6175,
"predicted_SLG": 0.4707,
"predicted_SO": 0.8341
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1425,
"after": 0.1425,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0149,
"after": 0.0149,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5193,
"after": 3.5193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2422,
"after": 0.246,
"delta": 0.0038,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3508,
"after": 0.3527,
"delta": 0.0019,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8525,
"after": 0.8657,
"delta": 0.0132,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.203,
"after": 0.2061,
"delta": 0.0031,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3147,
"delta": 0.0017,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.528,
"after": 0.5423,
"delta": 0.0143,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6012,
"after": 0.6175,
"delta": 0.0163,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4641,
"after": 0.4707,
"delta": 0.0066,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8385,
"after": 0.8341,
"delta": -0.0044,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_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.4641,
"after": 0.4707,
"delta": 0.0066,
"percent_delta": 0.0142,
"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.246 HR/AB=0.059",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1425,
"after": 0.0,
"delta": -0.1425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0149,
"after": 0.0,
"delta": -0.0149,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5193,
"after": 4.0,
"delta": 0.4807,
"percent_delta": 0.1366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3527,
"after": 0.0,
"delta": -0.3527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8657,
"after": 1.0,
"delta": 0.1343,
"percent_delta": 0.1551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2061,
"after": 0.0,
"delta": -0.2061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6175,
"after": 1.0,
"delta": 0.3825,
"percent_delta": 0.6194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8341,
"after": 1.0,
"delta": 0.1659,
"percent_delta": 0.1989,
"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.5193,
"after": 4.0,
"delta": 0.4807,
"percent_delta": 0.1366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3527,
"after": 0.0,
"delta": -0.3527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5423,
"after": 1.0,
"delta": 0.4577,
"percent_delta": 0.844,
"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.5423,
"after": 1.0,
"delta": 0.4577,
"percent_delta": 0.844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.227,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.298,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.439,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.227,
"delta": -0.019,
"percent_delta": -0.0772,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3147,
"after": 0.298,
"delta": -0.0167,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4707,
"after": 0.439,
"delta": -0.0317,
"percent_delta": -0.0673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_HR",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.246,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3147,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4707,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.246,
"delta": 0.019,
"percent_delta": 0.0837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3147,
"delta": 0.0167,
"percent_delta": 0.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4707,
"delta": 0.0317,
"percent_delta": 0.0722,
"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.439,
"after": 0.4707,
"delta": 0.0317,
"percent_delta": 0.0722,
"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.168,
"after": 0.0,
"delta": -0.168,
"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.454,
"after": 3.0,
"delta": -0.454,
"percent_delta": -0.1314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.246,
"delta": 0.003,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.168,
"after": 0.0,
"delta": -0.168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3147,
"delta": 0.0017,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.496,
"after": 0.0,
"delta": -0.496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4707,
"delta": 0.0277,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.807,
"after": 2.0,
"delta": 1.193,
"percent_delta": 1.4783,
"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.807,
"after": 2.0,
"delta": 1.193,
"percent_delta": 1.4783,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.454 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.353 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.168 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.496 | - |
| predicted_RBI | 0.529 | - |
| predicted_SLG | 0.443 | - |
| predicted_SO | 0.807 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | -0.026 |
| predicted_3B | 0.015 | 0.007 |
| predicted_AB | 3.519 | 0.065 |
| predicted_AVG | 0.242 | -0.001 |
| predicted_BB | 0.351 | -0.002 |
| predicted_H | 0.853 | 0.013 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.203 | 0.035 |
| predicted_OBP | 0.313 | 0.000 |
| predicted_R | 0.528 | 0.032 |
| predicted_RBI | 0.601 | 0.072 |
| predicted_SLG | 0.464 | 0.021 |
| predicted_SO | 0.839 | 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.142 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.519 | 0.000 |
| predicted_AVG | 0.246 | 0.004 |
| predicted_BB | 0.353 | 0.002 |
| predicted_H | 0.866 | 0.013 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.206 | 0.003 |
| predicted_OBP | 0.315 | 0.002 |
| predicted_R | 0.542 | 0.014 |
| predicted_RBI | 0.618 | 0.016 |
| predicted_SLG | 0.471 | 0.007 |
| predicted_SO | 0.834 | -0.004 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.246 HR/AB=0.059
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.142 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | 0.481 |
| predicted_AVG | 0.227 | -0.019 |
| predicted_BB | 0.000 | -0.353 |
| predicted_H | 1.000 | 0.134 |
| predicted_HR | 0.000 | -0.206 |
| predicted_OBP | 0.298 | -0.017 |
| predicted_R | 1.000 | 0.458 |
| predicted_RBI | 1.000 | 0.382 |
| predicted_SLG | 0.439 | -0.032 |
| predicted_SO | 1.000 | 0.166 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 2.000 | 6.000 | 0.2105 | 0.2857 | 0.5263 | 0.2105 | 0.1053 | 0.2632 | 0.1053 | 0.3158 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 0.000 | 1.000 | 4.000 | 10.000 | 6.000 | 3.000 | 8.000 | 0.2632 | 0.3171 | 0.6316 | 0.2632 | 0.1053 | 0.2632 | 0.0790 | 0.2105 |
| season | 0.60 | 119 | - | 411.000 | 100.000 | 20.000 | 1.000 | 20.000 | 63.000 | 59.000 | 42.000 | 96.000 | 0.2433 | 0.3218 | 0.4428 | 0.2433 | 0.0487 | 0.1533 | 0.1022 | 0.2336 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1090 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.6050 |
| predicted_AVG | 0.2412 |
| predicted_BB | 0.3480 |
| predicted_H | 0.8690 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.2490 |
| predicted_OBP | 0.3131 |
| predicted_R | 0.5700 |
| predicted_RBI | 0.6960 |
| predicted_SLG | 0.4918 |
| predicted_SO | 0.8800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1680 | 0.1090 | 0.1425 | model_form_blend |
| predicted_3B | 0.0080 | 0.0240 | 0.0149 | model_form_blend |
| predicted_AB | 3.4540 | 3.6050 | 3.5193 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2412 | 0.2422 | model_form_blend |
| predicted_BB | 0.3530 | 0.3480 | 0.3508 | model_form_blend |
| predicted_H | 0.8400 | 0.8690 | 0.8525 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.1680 | 0.2490 | 0.2030 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3131 | 0.3130 | model_form_blend |
| predicted_R | 0.4960 | 0.5700 | 0.5280 | model_form_blend |
| predicted_RBI | 0.5290 | 0.6960 | 0.6012 | model_form_blend |
| predicted_SLG | 0.4430 | 0.4918 | 0.4641 | model_form_blend |
| predicted_SO | 0.8070 | 0.8800 | 0.8385 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 463 |
| Season rows before report date | 463 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 571448 |
| playerID | 571448 |
| playerName | Nolan Arenado |
| pos | 3B |
| started | True |
| startingPosition | DH |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.333 |
| sl_xwoba | 0.297 |
| sl_xba | 0.23 |
| sl_xslg | 0.358 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 32.5 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 19.0 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 45.4 |
| at_bat_number | 80.0 |
| ab_pitcher | 663558.0 |
| ab_pitcher_name | Morán, Jovani |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_3b_start | 672515.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 5.0 |
| ab_event | single |
| ab_event_description | Nolan Arenado singles on a line drive to shortstop Andruw Monasterio. Gabriel Moreno scores. |
| 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 | 4.0 |
| ab_launch_speed_last | 51.1 |
| ab_launch_angle_last | 29.0 |
| ab_hit_distance_last | 143.0 |
| ab_estimated_ba_last | 0.143 |
| ab_estimated_woba_last | 0.129 |
| ab_estimated_slg_last | 0.151 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 5.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 88.76666666666667 |
| ab_release_spin_rate_avg | 2134.5 |
| ab_effective_speed_avg | 89.03333333333335 |
| ab_launch_speed_avg | 75.15 |
| ab_launch_angle_avg | 24.0 |
| ab_delta_run_exp_avg | 0.0755 |
| ab_delta_home_win_exp_avg | -0.0251666666666666 |
| ab_delta_pitcher_run_exp_avg | -0.0755 |
| ab_bat_speed_avg | 70.69999999999999 |
| ab_swing_length_avg | 8.3 |
| ab_launch_speed_max | 99.2 |
| ab_hit_distance_sc_max | 266.0 |
| ab_release_speed_max | 95.3 |
| ab_release_spin_rate_max | 2539.0 |
| ab_release_speed_min | 82.7 |
| ab_release_spin_rate_min | 1777.0 |
| ab_delta_run_exp_sum | 0.4529999999999999 |
| ab_delta_home_win_exp_sum | -0.151 |
| ab_delta_pitcher_run_exp_sum | -0.4529999999999999 |
| 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.141 | 0.000 | 0.000 | Hitting_2B | 0.157 | 0.000 | -0.157 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.125 | 3.000 | 3.000 | Hitting_AB | 3.358 | 4.000 | -0.358 | -1.000 |
| predicted_AVG | 0.244 | 0.000 | 0.000 | Hitting_AVG | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_BB | 0.234 | 1.000 | 0.000 | Hitting_BB | 0.258 | 1.000 | 0.742 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_H | 0.750 | 0.000 | 0.000 | Hitting_H | 0.821 | 0.000 | -0.821 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.286 | 0.250 | 0.000 | Hitting_OBP | 0.293 | 0.200 | -0.043 | 0.050 |
| predicted_R | 0.344 | 0.000 | 0.000 | Hitting_R | 0.384 | 0.000 | -0.384 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.541 | 0.000 | -0.541 | 0.000 |
| predicted_SLG | 0.362 | 0.000 | 0.000 | Hitting_SLG | 0.404 | 0.000 | -0.404 | 0.000 |
| predicted_SO | 0.828 | 2.000 | 1.000 | Hitting_SO | 0.838 | 1.000 | 1.162 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.8280 -> 2.0000 (boost 1.1720, worse) |
| Biggest Deboost | predicted_H: 0.7500 -> 0.0000 (deboost -0.7500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.1250 -> 3.2718 (boost 0.1468, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3634 -> 0.3792 (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.7966 -> 1.0000 (boost 0.2034, better) | predicted_RBI: 0.4292 -> 0.0000 (deboost -0.4292, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.243 HR/AB=0.030 |
| 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 | lineup_integer_allocation | 2 | 1 | 1 | 1 | 1 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3870 -> 0.3792 (deboost -0.0078, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694374",
"player_name": "Tim Tawa",
"position": "1B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.141,
"predicted_3B": 0.0,
"predicted_AB": 3.125,
"predicted_AVG": 0.244,
"predicted_BB": 0.234,
"predicted_H": 0.75,
"predicted_HR": 0.1,
"predicted_OBP": 0.286,
"predicted_R": 0.344,
"predicted_RBI": 0.41,
"predicted_SLG": 0.362,
"predicted_SO": 0.828
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1443,
"predicted_3B": 0.0008,
"predicted_AB": 3.2718,
"predicted_AVG": 0.2421,
"predicted_BB": 0.2448,
"predicted_H": 0.7844,
"predicted_HBP": 0.004,
"predicted_HR": 0.0979,
"predicted_OBP": 0.2882,
"predicted_R": 0.334,
"predicted_RBI": 0.4179,
"predicted_SLG": 0.3634,
"predicted_SO": 0.8686
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.141,
"after": 0.1443,
"delta": 0.0033,
"percent_delta": 0.0234,
"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.125,
"after": 3.2718,
"delta": 0.1468,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2421,
"delta": -0.0019,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 0.2448,
"delta": 0.0108,
"percent_delta": 0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7844,
"delta": 0.0344,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0979,
"delta": -0.0021,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2882,
"delta": 0.0022,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.344,
"after": 0.334,
"delta": -0.01,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4179,
"delta": 0.0079,
"percent_delta": 0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3634,
"delta": 0.0014,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 0.8686,
"delta": 0.0406,
"percent_delta": 0.049,
"direction": "no_change",
"projection_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.125,
"after": 3.2718,
"delta": 0.1468,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 64
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1443,
"predicted_3B": 0.0008,
"predicted_AB": 3.2718,
"predicted_AVG": 0.2435,
"predicted_BB": 0.2461,
"predicted_H": 0.7966,
"predicted_HBP": 0.004,
"predicted_HR": 0.0994,
"predicted_OBP": 0.2964,
"predicted_R": 0.3431,
"predicted_RBI": 0.4292,
"predicted_SLG": 0.3792,
"predicted_SO": 0.864
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1443,
"after": 0.1443,
"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.2718,
"after": 3.2718,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2421,
"after": 0.2435,
"delta": 0.0014,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2448,
"after": 0.2461,
"delta": 0.0013,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7844,
"after": 0.7966,
"delta": 0.0122,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0979,
"after": 0.0994,
"delta": 0.0015,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2882,
"after": 0.2964,
"delta": 0.0082,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.334,
"after": 0.3431,
"delta": 0.0091,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4179,
"after": 0.4292,
"delta": 0.0113,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3634,
"after": 0.3792,
"delta": 0.0158,
"percent_delta": 0.0435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8686,
"after": 0.864,
"delta": -0.0046,
"percent_delta": -0.0053,
"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.3634,
"after": 0.3792,
"delta": 0.0158,
"percent_delta": 0.0435,
"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.27), rates preserved: AVG=0.243 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1443,
"after": 0.0,
"delta": -0.1443,
"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.2718,
"after": 3.0,
"delta": -0.2718,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2461,
"after": 0.0,
"delta": -0.2461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7966,
"after": 1.0,
"delta": 0.2034,
"percent_delta": 0.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0994,
"after": 0.0,
"delta": -0.0994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4292,
"after": 0.0,
"delta": -0.4292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 1.0,
"delta": 0.136,
"percent_delta": 0.1574,
"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.7966,
"after": 1.0,
"delta": 0.2034,
"percent_delta": 0.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4292,
"after": 0.0,
"delta": -0.4292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_SO",
"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_RBI",
"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": 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.243,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.387,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2435,
"after": 0.243,
"delta": -0.0005,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2964,
"after": 0.302,
"delta": 0.0056,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3792,
"after": 0.387,
"delta": 0.0078,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"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_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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2435,
"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.2964,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3792,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2435,
"delta": 0.0005,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.2964,
"delta": -0.0056,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3792,
"delta": -0.0078,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3792,
"delta": -0.0078,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.125,
"after": 3.0,
"delta": -0.125,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2435,
"delta": -0.0005,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 1.0,
"delta": 0.766,
"percent_delta": 3.2735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2964,
"delta": 0.0104,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.344,
"after": 0.0,
"delta": -0.344,
"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.362,
"after": 0.3792,
"delta": 0.0172,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.828,
"after": 2.0,
"delta": 1.172,
"percent_delta": 1.4155,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.828,
"after": 2.0,
"delta": 1.172,
"percent_delta": 1.4155,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.141 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.125 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.234 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.344 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.828 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.272 | 0.147 |
| predicted_AVG | 0.242 | -0.002 |
| predicted_BB | 0.245 | 0.011 |
| predicted_H | 0.784 | 0.034 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.288 | 0.002 |
| predicted_R | 0.334 | -0.010 |
| predicted_RBI | 0.418 | 0.008 |
| predicted_SLG | 0.363 | 0.001 |
| predicted_SO | 0.869 | 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.144 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.272 | 0.000 |
| predicted_AVG | 0.243 | 0.001 |
| predicted_BB | 0.246 | 0.001 |
| predicted_H | 0.797 | 0.012 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.099 | 0.002 |
| predicted_OBP | 0.296 | 0.008 |
| predicted_R | 0.343 | 0.009 |
| predicted_RBI | 0.429 | 0.011 |
| predicted_SLG | 0.379 | 0.016 |
| predicted_SO | 0.864 | -0.005 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.243 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.144 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.272 |
| predicted_AVG | 0.243 | -0.001 |
| predicted_BB | 0.000 | -0.246 |
| predicted_H | 1.000 | 0.203 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.302 | 0.006 |
| predicted_R | 0.000 | -0.343 |
| predicted_RBI | 0.000 | -0.429 |
| predicted_SLG | 0.387 | 0.008 |
| 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 | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -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 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 5.000 | 0.2500 | 0.3182 | 0.3000 | 0.2500 | 0.0000 | 0.1000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 12.000 | 0.2368 | 0.2750 | 0.3421 | 0.2368 | 0.0263 | 0.0790 | 0.0526 | 0.3158 |
| season | 0.60 | 64 | - | 200.000 | 47.000 | 9.000 | 0.000 | 7.000 | 29.000 | 22.000 | 15.000 | 53.000 | 0.2350 | 0.2844 | 0.3850 | 0.2350 | 0.0350 | 0.1450 | 0.0750 | 0.2650 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1490 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4790 |
| predicted_AVG | 0.2395 |
| predicted_BB | 0.2600 |
| predicted_H | 0.8330 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.2912 |
| predicted_R | 0.3200 |
| predicted_RBI | 0.4290 |
| predicted_SLG | 0.3653 |
| predicted_SO | 0.9260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1410 | 0.1490 | 0.1443 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1250 | 3.4790 | 3.2718 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2395 | 0.2421 | model_form_blend |
| predicted_BB | 0.2340 | 0.2600 | 0.2448 | model_form_blend |
| predicted_H | 0.7500 | 0.8330 | 0.7844 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1000 | 0.0950 | 0.0979 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2912 | 0.2882 | model_form_blend |
| predicted_R | 0.3440 | 0.3200 | 0.3340 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4290 | 0.4179 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3653 | 0.3634 | model_form_blend |
| predicted_SO | 0.8280 | 0.9260 | 0.8686 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 229 |
| Season rows before report date | 229 |
| Report year | 2026 |
| Profile rows used | 64 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 694374 |
| playerID | 694374 |
| playerName | Tim Tawa |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.294 |
| sl_xwoba | 0.304 |
| sl_xba | 0.24 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 49.1 |
| at_bat_number | 81.0 |
| ab_pitcher | 663558.0 |
| ab_pitcher_name | Morán, Jovani |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 571448.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 5.0 |
| ab_event | walk |
| ab_event_description | Tim Tawa walks. Nolan Arenado to 2nd. |
| ab_event_type | B |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 13.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 | 1.0 |
| ab_home_score_end | 5.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 89.67999999999999 |
| ab_release_spin_rate_avg | 2363.8 |
| ab_effective_speed_avg | 90.18 |
| ab_delta_run_exp_avg | 0.0638 |
| ab_delta_home_win_exp_avg | -0.0108 |
| ab_delta_pitcher_run_exp_avg | -0.0638 |
| ab_release_speed_max | 93.4 |
| ab_release_spin_rate_max | 2597.0 |
| ab_release_speed_min | 83.1 |
| ab_release_spin_rate_min | 1823.0 |
| ab_delta_run_exp_sum | 0.319 |
| ab_delta_home_win_exp_sum | -0.054 |
| ab_delta_pitcher_run_exp_sum | -0.319 |
| 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.133 | 1.000 | 0.000 | Hitting_2B | 0.130 | 0.000 | 0.870 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.200 | 4.000 | 3.000 | Hitting_AB | 3.296 | 2.000 | 0.704 | 2.000 |
| predicted_AVG | 0.250 | 0.250 | 0.333 | Hitting_AVG | 0.258 | 0.000 | -0.008 | 0.250 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.800 | 1.000 | 1.000 | Hitting_H | 0.852 | 0.000 | 0.148 | 1.000 |
| predicted_HR | 0.067 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.294 | 0.250 | 0.333 | Hitting_OBP | 0.347 | 0.000 | -0.097 | 0.250 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.426 | 0.000 | -0.426 | 0.000 |
| predicted_RBI | 0.267 | 0.000 | 0.000 | Hitting_RBI | 0.315 | 0.000 | -0.315 | 0.000 |
| predicted_SLG | 0.354 | 0.500 | 0.333 | Hitting_SLG | 0.348 | 0.000 | 0.152 | 0.500 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 1.037 | 0.000 | -0.037 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 8 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.1330 -> 1.0000 (boost 0.8670, better) |
| Biggest Deboost | predicted_R: 0.4000 -> 0.0000 (deboost -0.4000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.2000 -> 3.2919 (boost 0.0919, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3568 -> 0.3621 (boost 0.0053, better) | predicted_OBP: 0.2988 -> 0.2938 (deboost -0.0050, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 1 | 6 | predicted_H: 0.8257 -> 1.0000 (boost 0.1743, better) | predicted_AB: 3.2919 -> 3.0000 (deboost -0.2919, worse) | AB rounded to 3 (raw=3.29), rates preserved: AVG=0.251 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4233 -> 0.0000 (deboost -0.4233, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3621 -> 0.3690 (boost 0.0069, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3690 -> 0.3621 (deboost -0.0069, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691783",
"player_name": "Jordan Lawlar",
"position": "CF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.0,
"predicted_AB": 3.2,
"predicted_AVG": 0.25,
"predicted_BB": 0.2,
"predicted_H": 0.8,
"predicted_HR": 0.067,
"predicted_OBP": 0.294,
"predicted_R": 0.4,
"predicted_RBI": 0.267,
"predicted_SLG": 0.354,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1399,
"predicted_3B": 0.0017,
"predicted_AB": 3.2919,
"predicted_AVG": 0.2471,
"predicted_BB": 0.1993,
"predicted_H": 0.8131,
"predicted_HBP": 0.136,
"predicted_HR": 0.0732,
"predicted_OBP": 0.2988,
"predicted_R": 0.4121,
"predicted_RBI": 0.2819,
"predicted_SLG": 0.3568,
"predicted_SO": 0.9938
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1399,
"delta": 0.0069,
"percent_delta": 0.0519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2,
"after": 3.2919,
"delta": 0.0919,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2471,
"delta": -0.0029,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.1993,
"delta": -0.0007,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.8131,
"delta": 0.0131,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.067,
"after": 0.0732,
"delta": 0.0062,
"percent_delta": 0.0925,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2988,
"delta": 0.0048,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4121,
"delta": 0.0121,
"percent_delta": 0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.267,
"after": 0.2819,
"delta": 0.0149,
"percent_delta": 0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3568,
"delta": 0.0028,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9938,
"delta": -0.0062,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_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.2,
"after": 3.2919,
"delta": 0.0919,
"percent_delta": 0.0287,
"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": 15
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1399,
"predicted_3B": 0.0017,
"predicted_AB": 3.2919,
"predicted_AVG": 0.2508,
"predicted_BB": 0.2004,
"predicted_H": 0.8257,
"predicted_HBP": 0.136,
"predicted_HR": 0.0743,
"predicted_OBP": 0.2938,
"predicted_R": 0.4233,
"predicted_RBI": 0.2895,
"predicted_SLG": 0.3621,
"predicted_SO": 0.9885
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1399,
"after": 0.1399,
"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.2919,
"after": 3.2919,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2471,
"after": 0.2508,
"delta": 0.0037,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1993,
"after": 0.2004,
"delta": 0.0011,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8131,
"after": 0.8257,
"delta": 0.0126,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.136,
"after": 0.136,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0732,
"after": 0.0743,
"delta": 0.0011,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2988,
"after": 0.2938,
"delta": -0.005,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4121,
"after": 0.4233,
"delta": 0.0112,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2819,
"after": 0.2895,
"delta": 0.0076,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3568,
"after": 0.3621,
"delta": 0.0053,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9938,
"after": 0.9885,
"delta": -0.0053,
"percent_delta": -0.0053,
"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.3568,
"after": 0.3621,
"delta": 0.0053,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2988,
"after": 0.2938,
"delta": -0.005,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.29), rates preserved: AVG=0.251 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1399,
"after": 0.0,
"delta": -0.1399,
"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.2919,
"after": 3.0,
"delta": -0.2919,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2004,
"after": 0.0,
"delta": -0.2004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8257,
"after": 1.0,
"delta": 0.1743,
"percent_delta": 0.2111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0743,
"after": 0.0,
"delta": -0.0743,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2895,
"after": 0.0,
"delta": -0.2895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9885,
"after": 1.0,
"delta": 0.0115,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8257,
"after": 1.0,
"delta": 0.1743,
"percent_delta": 0.2111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.2919,
"after": 3.0,
"delta": -0.2919,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4233,
"after": 0.0,
"delta": -0.4233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4233,
"after": 0.0,
"delta": -0.4233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.251,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.299,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.369,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2508,
"after": 0.251,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2938,
"after": 0.299,
"delta": 0.0052,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3621,
"after": 0.369,
"delta": 0.0069,
"percent_delta": 0.0191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3621,
"after": 0.369,
"delta": 0.0069,
"percent_delta": 0.0191,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2508,
"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.2938,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3621,
"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.251,
"after": 0.2508,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2938,
"delta": -0.0052,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3621,
"delta": -0.0069,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.369,
"after": 0.3621,
"delta": -0.0069,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 1.0,
"delta": 0.867,
"percent_delta": 6.5188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2,
"after": 4.0,
"delta": 0.8,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2508,
"delta": 0.0008,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.0,
"delta": 0.2,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2938,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.354,
"after": 0.3621,
"delta": 0.0081,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.133,
"after": 1.0,
"delta": 0.867,
"percent_delta": 6.5188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.200 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.067 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.267 | - |
| predicted_SLG | 0.354 | - |
| predicted_SO | 1.000 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.140 | 0.007 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.292 | 0.092 |
| predicted_AVG | 0.247 | -0.003 |
| predicted_BB | 0.199 | -0.001 |
| predicted_H | 0.813 | 0.013 |
| predicted_HBP | 0.136 | - |
| predicted_HR | 0.073 | 0.006 |
| predicted_OBP | 0.299 | 0.005 |
| predicted_R | 0.412 | 0.012 |
| predicted_RBI | 0.282 | 0.015 |
| predicted_SLG | 0.357 | 0.003 |
| predicted_SO | 0.994 | -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.140 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.292 | 0.000 |
| predicted_AVG | 0.251 | 0.004 |
| predicted_BB | 0.200 | 0.001 |
| predicted_H | 0.826 | 0.013 |
| predicted_HBP | 0.136 | 0.000 |
| predicted_HR | 0.074 | 0.001 |
| predicted_OBP | 0.294 | -0.005 |
| predicted_R | 0.423 | 0.011 |
| predicted_RBI | 0.289 | 0.008 |
| predicted_SLG | 0.362 | 0.005 |
| predicted_SO | 0.989 | -0.005 |
AB rounded to 3 (raw=3.29), rates preserved: AVG=0.251 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.002 |
| predicted_AB | 3.000 | -0.292 |
| predicted_AVG | 0.251 | 0.000 |
| predicted_BB | 0.000 | -0.200 |
| predicted_H | 1.000 | 0.174 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.299 | 0.005 |
| predicted_R | 0.000 | -0.423 |
| predicted_RBI | 0.000 | -0.289 |
| predicted_SLG | 0.369 | 0.007 |
| predicted_SO | 1.000 | 0.011 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 6.000 | 0.2222 | 0.2222 | 0.2778 | 0.2222 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 10.000 | 0.2188 | 0.3243 | 0.3438 | 0.2188 | 0.0312 | 0.0938 | 0.0625 | 0.3125 |
| season | 0.60 | 15 | - | 48.000 | 12.000 | 2.000 | 0.000 | 1.000 | 4.000 | 6.000 | 3.000 | 15.000 | 0.2500 | 0.3333 | 0.3542 | 0.2500 | 0.0208 | 0.0833 | 0.0625 | 0.3125 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1530 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.4660 |
| predicted_AVG | 0.2417 |
| predicted_BB | 0.1980 |
| predicted_H | 0.8380 |
| predicted_HBP | 0.1360 |
| predicted_HR | 0.0850 |
| predicted_OBP | 0.3079 |
| predicted_R | 0.4350 |
| predicted_RBI | 0.3100 |
| predicted_SLG | 0.3622 |
| predicted_SO | 0.9820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1530 | 0.1399 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 3.2000 | 3.4660 | 3.2919 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2417 | 0.2471 | model_form_blend |
| predicted_BB | 0.2000 | 0.1980 | 0.1993 | model_form_blend |
| predicted_H | 0.8000 | 0.8380 | 0.8131 | model_form_blend |
| predicted_HBP | - | 0.1360 | 0.1360 | form_only |
| predicted_HR | 0.0670 | 0.0850 | 0.0732 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3079 | 0.2988 | model_form_blend |
| predicted_R | 0.4000 | 0.4350 | 0.4121 | model_form_blend |
| predicted_RBI | 0.2670 | 0.3100 | 0.2819 | model_form_blend |
| predicted_SLG | 0.3540 | 0.3622 | 0.3568 | model_form_blend |
| predicted_SO | 1.0000 | 0.9820 | 0.9938 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 54 |
| Season rows before report date | 54 |
| Report year | 2026 |
| Profile rows used | 15 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 691783 |
| playerID | 691783 |
| playerName | Jordan Lawlar |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.312 |
| sl_xwoba | 0.294 |
| sl_xba | 0.233 |
| sl_xslg | 0.325 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 24.2 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 45.6 |
| at_bat_number | 31.0 |
| ab_pitcher | 801139.0 |
| ab_pitcher_name | Tolle, Payton |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 5.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 | 2.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Jordan Lawlar flies out to center fielder Ceddanne Rafaela. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 80.9 |
| ab_launch_angle_last | 44.0 |
| ab_hit_distance_last | 273.0 |
| ab_estimated_ba_last | 0.017 |
| ab_estimated_woba_last | 0.023 |
| ab_estimated_slg_last | 0.032 |
| 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 | 2.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 89.6 |
| ab_release_spin_rate_avg | 2238.0 |
| ab_effective_speed_avg | 91.25 |
| ab_launch_speed_avg | 80.9 |
| ab_launch_angle_avg | 44.0 |
| ab_delta_run_exp_avg | -0.13 |
| ab_delta_home_win_exp_avg | 0.0145 |
| ab_delta_pitcher_run_exp_avg | 0.13 |
| ab_bat_speed_avg | 72.6 |
| ab_swing_length_avg | 7.5 |
| ab_launch_speed_max | 80.9 |
| ab_hit_distance_sc_max | 273.0 |
| ab_release_speed_max | 92.1 |
| ab_release_spin_rate_max | 2276.0 |
| ab_release_speed_min | 87.1 |
| ab_release_spin_rate_min | 2200.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | 0.029 |
| 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.167 | 1.000 | 0.000 | Hitting_2B | 0.221 | 2.000 | 0.779 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.259 | 4.000 | 3.000 | Hitting_AB | 3.511 | 4.000 | 0.489 | 0.000 |
| predicted_AVG | 0.261 | 0.250 | 0.333 | Hitting_AVG | 0.277 | 0.500 | -0.027 | -0.250 |
| predicted_BB | 0.148 | 0.000 | 0.000 | Hitting_BB | 0.174 | 1.000 | -0.174 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.852 | 1.000 | 1.000 | Hitting_H | 0.974 | 2.000 | 0.026 | -1.000 |
| predicted_HR | 0.056 | 0.000 | 0.000 | Hitting_HR | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_OBP | 0.293 | 0.250 | 0.333 | Hitting_OBP | 0.315 | 0.600 | -0.065 | -0.350 |
| predicted_R | 0.426 | 1.000 | 0.000 | Hitting_R | 0.511 | 1.000 | 0.489 | 0.000 |
| predicted_RBI | 0.296 | 1.000 | 0.000 | Hitting_RBI | 0.358 | 1.000 | 0.642 | 0.000 |
| predicted_SLG | 0.364 | 0.500 | 0.333 | Hitting_SLG | 0.394 | 1.000 | 0.106 | -0.500 |
| predicted_SO | 0.796 | 0.000 | 1.000 | Hitting_SO | 0.800 | 1.000 | -0.800 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 9 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_2B: 0.1670 -> 1.0000 (boost 0.8330, better) |
| Biggest Deboost | predicted_SO: 0.7960 -> 0.0000 (deboost -0.7960, 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_OBP: 0.2930 -> 0.3021 (boost 0.0091, 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.3728 -> 0.3779 (boost 0.0051, 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.8023 -> 1.0000 (boost 0.1977, worse) | predicted_RBI: 0.2998 -> 0.0000 (deboost -0.2998, worse) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.268 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4010 -> 0.0000 (deboost -0.4010, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3779 -> 0.3850 (boost 0.0071, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3850 -> 0.3779 (deboost -0.0071, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699912",
"player_name": "Jose Fernandez",
"position": "3B",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 3.259,
"predicted_AVG": 0.261,
"predicted_BB": 0.148,
"predicted_H": 0.852,
"predicted_HR": 0.056,
"predicted_OBP": 0.293,
"predicted_R": 0.426,
"predicted_RBI": 0.296,
"predicted_SLG": 0.364,
"predicted_SO": 0.796
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.201,
"predicted_3B": 0.0008,
"predicted_AB": 3.2958,
"predicted_AVG": 0.2641,
"predicted_BB": 0.1754,
"predicted_H": 0.8712,
"predicted_HBP": 0.014,
"predicted_HR": 0.0519,
"predicted_OBP": 0.3021,
"predicted_R": 0.3904,
"predicted_RBI": 0.2919,
"predicted_SLG": 0.3728,
"predicted_SO": 0.8066
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.201,
"delta": 0.034,
"percent_delta": 0.2036,
"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.259,
"after": 3.2958,
"delta": 0.0368,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2641,
"delta": 0.0031,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.148,
"after": 0.1754,
"delta": 0.0274,
"percent_delta": 0.1851,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.852,
"after": 0.8712,
"delta": 0.0192,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.056,
"after": 0.0519,
"delta": -0.0041,
"percent_delta": -0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3021,
"delta": 0.0091,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 0.3904,
"delta": -0.0356,
"percent_delta": -0.0836,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.296,
"after": 0.2919,
"delta": -0.0041,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3728,
"delta": 0.0088,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.796,
"after": 0.8066,
"delta": 0.0106,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3021,
"delta": 0.0091,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 54
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.201,
"predicted_3B": 0.0008,
"predicted_AB": 3.2958,
"predicted_AVG": 0.2684,
"predicted_BB": 0.1763,
"predicted_H": 0.8847,
"predicted_HBP": 0.014,
"predicted_HR": 0.0527,
"predicted_OBP": 0.3056,
"predicted_R": 0.401,
"predicted_RBI": 0.2998,
"predicted_SLG": 0.3779,
"predicted_SO": 0.8023
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.201,
"after": 0.201,
"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.2958,
"after": 3.2958,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2641,
"after": 0.2684,
"delta": 0.0043,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1754,
"after": 0.1763,
"delta": 0.0009,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8712,
"after": 0.8847,
"delta": 0.0135,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0519,
"after": 0.0527,
"delta": 0.0008,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3021,
"after": 0.3056,
"delta": 0.0035,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3904,
"after": 0.401,
"delta": 0.0106,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2919,
"after": 0.2998,
"delta": 0.0079,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3728,
"after": 0.3779,
"delta": 0.0051,
"percent_delta": 0.0137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8066,
"after": 0.8023,
"delta": -0.0043,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3728,
"after": 0.3779,
"delta": 0.0051,
"percent_delta": 0.0137,
"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.30), rates preserved: AVG=0.268 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.201,
"after": 0.0,
"delta": -0.201,
"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.2958,
"after": 3.0,
"delta": -0.2958,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1763,
"after": 0.0,
"delta": -0.1763,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8847,
"after": 1.0,
"delta": 0.1153,
"percent_delta": 0.1303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0527,
"after": 0.0,
"delta": -0.0527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2998,
"after": 0.0,
"delta": -0.2998,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8023,
"after": 1.0,
"delta": 0.1977,
"percent_delta": 0.2464,
"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.8023,
"after": 1.0,
"delta": 0.1977,
"percent_delta": 0.2464,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2998,
"after": 0.0,
"delta": -0.2998,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.401,
"after": 0.0,
"delta": -0.401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.401,
"after": 0.0,
"delta": -0.401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.268,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.385,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2684,
"after": 0.268,
"delta": -0.0004,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3056,
"after": 0.311,
"delta": 0.0054,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3779,
"after": 0.385,
"delta": 0.0071,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3779,
"after": 0.385,
"delta": 0.0071,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.2684,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3056,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3779,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2684,
"delta": 0.0004,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3056,
"delta": -0.0054,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3779,
"delta": -0.0071,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3779,
"delta": -0.0071,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 1.0,
"delta": 0.833,
"percent_delta": 4.988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.259,
"after": 4.0,
"delta": 0.741,
"percent_delta": 0.2274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2684,
"delta": 0.0074,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.148,
"after": 0.0,
"delta": -0.148,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.852,
"after": 1.0,
"delta": 0.148,
"percent_delta": 0.1737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3056,
"delta": 0.0126,
"percent_delta": 0.043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 1.0,
"delta": 0.574,
"percent_delta": 1.3474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.296,
"after": 1.0,
"delta": 0.704,
"percent_delta": 2.3784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3779,
"delta": 0.0139,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.796,
"after": 0.0,
"delta": -0.796,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 9,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.167,
"after": 1.0,
"delta": 0.833,
"percent_delta": 4.988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.796,
"after": 0.0,
"delta": -0.796,
"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.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.259 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.148 | - |
| predicted_H | 0.852 | - |
| predicted_HR | 0.056 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.426 | - |
| predicted_RBI | 0.296 | - |
| predicted_SLG | 0.364 | - |
| predicted_SO | 0.796 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.201 | 0.034 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.296 | 0.037 |
| predicted_AVG | 0.264 | 0.003 |
| predicted_BB | 0.175 | 0.027 |
| predicted_H | 0.871 | 0.019 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.052 | -0.004 |
| predicted_OBP | 0.302 | 0.009 |
| predicted_R | 0.390 | -0.036 |
| predicted_RBI | 0.292 | -0.004 |
| predicted_SLG | 0.373 | 0.009 |
| predicted_SO | 0.807 | 0.011 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.201 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.296 | 0.000 |
| predicted_AVG | 0.268 | 0.004 |
| predicted_BB | 0.176 | 0.001 |
| predicted_H | 0.885 | 0.014 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.053 | 0.001 |
| predicted_OBP | 0.306 | 0.004 |
| predicted_R | 0.401 | 0.011 |
| predicted_RBI | 0.300 | 0.008 |
| predicted_SLG | 0.378 | 0.005 |
| predicted_SO | 0.802 | -0.004 |
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.268 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.201 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.296 |
| predicted_AVG | 0.268 | -0.000 |
| predicted_BB | 0.000 | -0.176 |
| predicted_H | 1.000 | 0.115 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.311 | 0.005 |
| predicted_R | 0.000 | -0.401 |
| predicted_RBI | 0.000 | -0.300 |
| predicted_SLG | 0.385 | 0.007 |
| predicted_SO | 1.000 | 0.198 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 5.000 | 0.2941 | 0.3684 | 0.4118 | 0.2941 | 0.0000 | 0.0588 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 4.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 7.000 | 0.2812 | 0.3235 | 0.4062 | 0.2812 | 0.0000 | 0.0625 | 0.0625 | 0.2188 |
| season | 0.60 | 54 | - | 176.000 | 46.000 | 9.000 | 0.000 | 3.000 | 16.000 | 23.000 | 8.000 | 43.000 | 0.2614 | 0.2973 | 0.3636 | 0.2614 | 0.0170 | 0.0909 | 0.0454 | 0.2443 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2500 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3490 |
| predicted_AVG | 0.2686 |
| predicted_BB | 0.2150 |
| predicted_H | 0.8990 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0460 |
| predicted_OBP | 0.3152 |
| predicted_R | 0.3390 |
| predicted_RBI | 0.2860 |
| predicted_SLG | 0.3854 |
| predicted_SO | 0.8220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.2500 | 0.2010 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2590 | 3.3490 | 3.2958 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2686 | 0.2641 | model_form_blend |
| predicted_BB | 0.1480 | 0.2150 | 0.1754 | model_form_blend |
| predicted_H | 0.8520 | 0.8990 | 0.8712 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0560 | 0.0460 | 0.0519 | model_form_blend |
| predicted_OBP | 0.2930 | 0.3152 | 0.3021 | model_form_blend |
| predicted_R | 0.4260 | 0.3390 | 0.3904 | model_form_blend |
| predicted_RBI | 0.2960 | 0.2860 | 0.2919 | model_form_blend |
| predicted_SLG | 0.3640 | 0.3854 | 0.3728 | model_form_blend |
| predicted_SO | 0.7960 | 0.8220 | 0.8066 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 190 |
| Season rows before report date | 190 |
| Report year | 2026 |
| Profile rows used | 54 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 699912 |
| playerID | 699912 |
| playerName | Jose Fernandez |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.292 |
| sl_xwoba | 0.276 |
| sl_xba | 0.241 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 38.7 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 47.1 |
| at_bat_number | 83.0 |
| ab_pitcher | 663558.0 |
| ab_pitcher_name | Morán, Jovani |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 543510.0 |
| ab_on_2b_start | 694374.0 |
| ab_on_3b_start | 596146.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 5.0 |
| ab_event | walk |
| ab_event_description | Jose Fernandez walks. Max Kepler scores. Tim Tawa to 3rd. James McCann to 2nd. |
| ab_event_type | B |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 61.5 |
| ab_launch_angle_last | -41.0 |
| ab_hit_distance_last | 3.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 | 2.0 |
| ab_home_score_end | 5.0 |
| ab_away_score_end | 7.0 |
| ab_bat_score_end | 7.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 7.0 |
| ab_release_speed_avg | 89.31428571428572 |
| ab_release_spin_rate_avg | 2224.285714285714 |
| ab_effective_speed_avg | 89.64285714285714 |
| ab_launch_speed_avg | 71.3 |
| ab_launch_angle_avg | 8.0 |
| ab_delta_run_exp_avg | 0.0521428571428571 |
| ab_delta_home_win_exp_avg | -0.0168571428571428 |
| ab_delta_pitcher_run_exp_avg | -0.0521428571428571 |
| ab_bat_speed_avg | 72.55 |
| ab_swing_length_avg | 7.0 |
| ab_launch_speed_max | 81.1 |
| ab_hit_distance_sc_max | 223.0 |
| ab_release_speed_max | 94.0 |
| ab_release_spin_rate_max | 2641.0 |
| ab_release_speed_min | 84.2 |
| ab_release_spin_rate_min | 1852.0 |
| ab_delta_run_exp_sum | 0.365 |
| ab_delta_home_win_exp_sum | -0.118 |
| ab_delta_pitcher_run_exp_sum | -0.365 |
| 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.263 | 0.000 | 1.000 | Hitting_2B | 0.278 | 1.000 | -0.278 | -1.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 4.580 | 4.000 | 5.000 | Hitting_AB | 3.751 | 4.000 | 0.249 | 0.000 |
| predicted_AVG | 0.290 | 0.250 | 0.200 | Hitting_AVG | 0.311 | 0.250 | -0.061 | 0.000 |
| predicted_BB | 0.465 | 0.000 | 1.000 | Hitting_BB | 0.501 | 1.000 | -0.501 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 1.330 | 1.000 | 1.000 | Hitting_H | 1.165 | 1.000 | -0.165 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_OBP | 0.376 | 0.250 | 0.333 | Hitting_OBP | 0.390 | 0.400 | -0.140 | -0.150 |
| predicted_R | 0.556 | 0.000 | 1.000 | Hitting_R | 0.597 | 1.000 | -0.597 | -1.000 |
| predicted_RBI | 1.180 | 0.000 | 1.000 | Hitting_RBI | 0.688 | 2.000 | -0.688 | -2.000 |
| predicted_SLG | 0.567 | 0.250 | 0.400 | Hitting_SLG | 0.478 | 0.500 | -0.228 | -0.250 |
| predicted_SO | 0.646 | 1.000 | 1.000 | Hitting_SO | 0.664 | 2.000 | 0.336 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6460 -> 1.0000 (boost 0.3540, worse) |
| Biggest Deboost | predicted_RBI: 1.1800 -> 0.0000 (deboost -1.1800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 4 | 3 | 3 | 4 | predicted_R: 0.5560 -> 0.6235 (boost 0.0675, better) | predicted_AB: 4.5800 -> 4.2169 (deboost -0.3631, worse) | Final model input calibrated with local 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.5663 -> 0.5171 (deboost -0.0492, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.2169 -> 5.0000 (boost 0.7831, better) | predicted_2B: 0.2961 -> 0.0000 (deboost -0.2961, worse) | AB rounded to 5 (raw=4.58), rates preserved: AVG=0.282 HR/AB=0.041 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6404 -> 1.0000 (boost 0.3596, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 5 | 0 | 5 | 0 | 5 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4640 -> 0.5171 (boost 0.0531, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "C",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.263,
"predicted_3B": 0.01,
"predicted_AB": 4.58,
"predicted_AVG": 0.29,
"predicted_BB": 0.465,
"predicted_H": 1.33,
"predicted_HR": 0.19,
"predicted_OBP": 0.376,
"predicted_R": 0.556,
"predicted_RBI": 1.18,
"predicted_SLG": 0.567,
"predicted_SO": 0.646
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2961,
"predicted_3B": 0.016,
"predicted_AB": 4.2169,
"predicted_AVG": 0.3033,
"predicted_BB": 0.4654,
"predicted_H": 1.2736,
"predicted_HBP": 0.026,
"predicted_HR": 0.1835,
"predicted_OBP": 0.3843,
"predicted_R": 0.6235,
"predicted_RBI": 1.057,
"predicted_SLG": 0.5663,
"predicted_SO": 0.6993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.263,
"after": 0.2961,
"delta": 0.0331,
"percent_delta": 0.1259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.016,
"delta": 0.006,
"percent_delta": 0.6,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 4.2169,
"delta": -0.3631,
"percent_delta": -0.0793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.3033,
"delta": 0.0133,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.465,
"after": 0.4654,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.33,
"after": 1.2736,
"delta": -0.0564,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1835,
"delta": -0.0065,
"percent_delta": -0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.376,
"after": 0.3843,
"delta": 0.0083,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.6235,
"delta": 0.0675,
"percent_delta": 0.1214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.18,
"after": 1.057,
"delta": -0.123,
"percent_delta": -0.1042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.567,
"after": 0.5663,
"delta": -0.0007,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.646,
"after": 0.6993,
"delta": 0.0533,
"percent_delta": 0.0825,
"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_R",
"before": 0.556,
"after": 0.6235,
"delta": 0.0675,
"percent_delta": 0.1214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 4.2169,
"delta": -0.3631,
"percent_delta": -0.0793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 99
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2961,
"predicted_3B": 0.016,
"predicted_AB": 4.2169,
"predicted_AVG": 0.3067,
"predicted_BB": 0.4679,
"predicted_H": 1.2933,
"predicted_HBP": 0.026,
"predicted_HR": 0.1863,
"predicted_OBP": 0.3759,
"predicted_R": 0.6404,
"predicted_RBI": 1.0856,
"predicted_SLG": 0.5171,
"predicted_SO": 0.6956
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2961,
"after": 0.2961,
"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": 4.2169,
"after": 4.2169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3033,
"after": 0.3067,
"delta": 0.0034,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4654,
"after": 0.4679,
"delta": 0.0025,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2736,
"after": 1.2933,
"delta": 0.0197,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1835,
"after": 0.1863,
"delta": 0.0028,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3843,
"after": 0.3759,
"delta": -0.0084,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6235,
"after": 0.6404,
"delta": 0.0169,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.057,
"after": 1.0856,
"delta": 0.0286,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5663,
"after": 0.5171,
"delta": -0.0492,
"percent_delta": -0.0869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6993,
"after": 0.6956,
"delta": -0.0037,
"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.5663,
"after": 0.5171,
"delta": -0.0492,
"percent_delta": -0.0869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.58), rates preserved: AVG=0.282 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2961,
"after": 0.0,
"delta": -0.2961,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2169,
"after": 5.0,
"delta": 0.7831,
"percent_delta": 0.1857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4679,
"after": 1.0,
"delta": 0.5321,
"percent_delta": 1.1372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2933,
"after": 1.0,
"delta": -0.2933,
"percent_delta": -0.2268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1863,
"after": 0.0,
"delta": -0.1863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0856,
"after": 1.0,
"delta": -0.0856,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6956,
"after": 1.0,
"delta": 0.3044,
"percent_delta": 0.4376,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.2169,
"after": 5.0,
"delta": 0.7831,
"percent_delta": 0.1857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2961,
"after": 0.0,
"delta": -0.2961,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6404,
"after": 1.0,
"delta": 0.3596,
"percent_delta": 0.5615,
"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.6404,
"after": 1.0,
"delta": 0.3596,
"percent_delta": 0.5615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": "embedded_savant_player_context",
"description": "Player 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.278,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.346,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.464,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.3067,
"after": 0.278,
"delta": -0.0287,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3759,
"after": 0.346,
"delta": -0.0299,
"percent_delta": -0.0795,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5171,
"after": 0.464,
"delta": -0.0531,
"percent_delta": -0.1027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3067,
"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.3759,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5171,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.3067,
"delta": 0.0287,
"percent_delta": 0.1033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3759,
"delta": 0.0299,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.5171,
"delta": 0.0531,
"percent_delta": 0.1144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.5171,
"delta": 0.0531,
"percent_delta": 0.1144,
"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": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 4.0,
"delta": -0.58,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.3067,
"delta": 0.0167,
"percent_delta": 0.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.465,
"after": 0.0,
"delta": -0.465,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.33,
"after": 1.0,
"delta": -0.33,
"percent_delta": -0.2481,
"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.376,
"after": 0.3759,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.18,
"after": 0.0,
"delta": -1.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.567,
"after": 0.5171,
"delta": -0.0499,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.18,
"after": 0.0,
"delta": -1.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.263 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 4.580 | - |
| predicted_AVG | 0.290 | - |
| predicted_BB | 0.465 | - |
| predicted_H | 1.330 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.376 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 1.180 | - |
| predicted_SLG | 0.567 | - |
| predicted_SO | 0.646 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.296 | 0.033 |
| predicted_3B | 0.016 | 0.006 |
| predicted_AB | 4.217 | -0.363 |
| predicted_AVG | 0.303 | 0.013 |
| predicted_BB | 0.465 | 0.000 |
| predicted_H | 1.274 | -0.056 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.183 | -0.007 |
| predicted_OBP | 0.384 | 0.008 |
| predicted_R | 0.624 | 0.068 |
| predicted_RBI | 1.057 | -0.123 |
| predicted_SLG | 0.566 | -0.001 |
| predicted_SO | 0.699 | 0.053 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.296 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 4.217 | 0.000 |
| predicted_AVG | 0.307 | 0.003 |
| predicted_BB | 0.468 | 0.003 |
| predicted_H | 1.293 | 0.020 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.186 | 0.003 |
| predicted_OBP | 0.376 | -0.008 |
| predicted_R | 0.640 | 0.017 |
| predicted_RBI | 1.086 | 0.029 |
| predicted_SLG | 0.517 | -0.049 |
| predicted_SO | 0.696 | -0.004 |
AB rounded to 5 (raw=4.58), rates preserved: AVG=0.282 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.296 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 5.000 | 0.783 |
| predicted_AVG | 0.278 | -0.029 |
| predicted_BB | 0.000 | -0.468 |
| predicted_H | 1.000 | -0.293 |
| predicted_HR | 0.000 | -0.186 |
| predicted_OBP | 0.346 | -0.030 |
| predicted_R | 1.000 | 0.360 |
| predicted_RBI | 1.000 | -0.086 |
| predicted_SLG | 0.464 | -0.053 |
| predicted_SO | 1.000 | 0.304 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 7.000 | 2.000 | 0.000 | 2.000 | 8.000 | 6.000 | 3.000 | 5.000 | 0.3684 | 0.4545 | 0.7895 | 0.3684 | 0.1053 | 0.4210 | 0.1579 | 0.2632 |
| last_10 | 0.20 | 10 | - | 41.000 | 14.000 | 6.000 | 1.000 | 2.000 | 12.000 | 8.000 | 4.000 | 9.000 | 0.3415 | 0.4000 | 0.6829 | 0.3415 | 0.0488 | 0.2927 | 0.0976 | 0.2195 |
| season | 0.60 | 99 | - | 355.000 | 109.000 | 26.000 | 1.000 | 10.000 | 62.000 | 55.000 | 46.000 | 64.000 | 0.3070 | 0.3850 | 0.4704 | 0.3070 | 0.0282 | 0.1746 | 0.1296 | 0.1803 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3400 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.7360 |
| predicted_AVG | 0.3209 |
| predicted_BB | 0.4660 |
| predicted_H | 1.1990 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.1750 |
| predicted_OBP | 0.3954 |
| predicted_R | 0.7130 |
| predicted_RBI | 0.8940 |
| predicted_SLG | 0.5653 |
| predicted_SO | 0.7700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2630 | 0.3400 | 0.2961 | model_form_blend |
| predicted_3B | 0.0100 | 0.0240 | 0.0160 | model_form_blend |
| predicted_AB | 4.5800 | 3.7360 | 4.2169 | model_form_blend |
| predicted_AVG | 0.2900 | 0.3209 | 0.3033 | model_form_blend |
| predicted_BB | 0.4650 | 0.4660 | 0.4654 | model_form_blend |
| predicted_H | 1.3300 | 1.1990 | 1.2736 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.1900 | 0.1750 | 0.1835 | model_form_blend |
| predicted_OBP | 0.3760 | 0.3954 | 0.3843 | model_form_blend |
| predicted_R | 0.5560 | 0.7130 | 0.6235 | model_form_blend |
| predicted_RBI | 1.1800 | 0.8940 | 1.0570 | model_form_blend |
| predicted_SLG | 0.5670 | 0.5653 | 0.5663 | model_form_blend |
| predicted_SO | 0.6460 | 0.7700 | 0.6993 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 417 |
| Season rows before report date | 417 |
| Report year | 2026 |
| Profile rows used | 99 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 672515 |
| playerID | 672515 |
| playerName | Gabriel Moreno |
| pos | C |
| started | True |
| startingPosition | C |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 15.5 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.373 |
| sl_xwoba | 0.369 |
| sl_xba | 0.294 |
| sl_xslg | 0.455 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 42.5 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 15.8 |
| sl_swing_percent | 42.1 |
| at_bat_number | 75.0 |
| ab_pitcher | 547973.0 |
| ab_pitcher_name | Chapman, Aroldis |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 814439.0 |
| ab_on_3b_start | 814439.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 5.0 |
| ab_event | strikeout |
| ab_event_description | Gabriel Moreno strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| 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 | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 5.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 97.55 |
| ab_release_spin_rate_avg | 2281.5 |
| ab_effective_speed_avg | 99.175 |
| ab_delta_run_exp_avg | -0.08 |
| ab_delta_home_win_exp_avg | 0.0265 |
| ab_delta_pitcher_run_exp_avg | 0.08 |
| ab_bat_speed_avg | 71.1 |
| ab_swing_length_avg | 6.2 |
| ab_release_speed_max | 100.5 |
| ab_release_spin_rate_max | 2625.0 |
| ab_release_speed_min | 91.0 |
| ab_release_spin_rate_min | 1403.0 |
| ab_delta_run_exp_sum | -0.32 |
| ab_delta_home_win_exp_sum | 0.106 |
| ab_delta_pitcher_run_exp_sum | 0.32 |
| 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.233 | 0.000 | 1.000 | Hitting_2B | 0.234 | 1.000 | -0.234 | -1.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.283 | 4.000 | 3.000 | Hitting_AB | 3.405 | 3.000 | 0.595 | 1.000 |
| predicted_AVG | 0.279 | 0.500 | 0.333 | Hitting_AVG | 0.270 | 0.667 | 0.230 | -0.167 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.311 | 2.000 | -0.311 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 1.000 | -0.045 | -1.000 |
| predicted_H | 0.917 | 2.000 | 1.000 | Hitting_H | 0.919 | 2.000 | 1.081 | 0.000 |
| predicted_HR | 0.033 | 0.000 | 0.000 | Hitting_HR | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_OBP | 0.333 | 0.500 | 0.333 | Hitting_OBP | 0.341 | 0.800 | 0.159 | -0.300 |
| predicted_R | 0.433 | 1.000 | 0.000 | Hitting_R | 0.423 | 1.000 | 0.577 | 0.000 |
| predicted_RBI | 0.283 | 0.000 | 0.000 | Hitting_RBI | 0.320 | 1.000 | -0.320 | -1.000 |
| predicted_SLG | 0.391 | 0.500 | 0.667 | Hitting_SLG | 0.385 | 1.000 | 0.115 | -0.500 |
| predicted_SO | 1.050 | 1.000 | 1.000 | Hitting_SO | 1.117 | 0.000 | -0.117 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.9170 -> 2.0000 (boost 1.0830, better) |
| Biggest Deboost | predicted_RBI: 0.2830 -> 0.0000 (deboost -0.2830, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 3 | 2 | predicted_BB: 0.2670 -> 0.3288 (boost 0.0618, better) | predicted_SO: 1.0500 -> 0.9484 (deboost -0.1016, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.8992 -> 1.0000 (boost 0.1008, better) | predicted_BB: 0.3305 -> 0.0000 (deboost -0.3305, worse) | AB rounded to 3 (raw=3.28), rates preserved: AVG=0.274 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4435 -> 0.0000 (deboost -0.4435, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "814439",
"player_name": "Ryan Waldschmidt",
"position": "LF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.233,
"predicted_3B": 0.017,
"predicted_AB": 3.283,
"predicted_AVG": 0.279,
"predicted_BB": 0.267,
"predicted_H": 0.917,
"predicted_HR": 0.033,
"predicted_OBP": 0.333,
"predicted_R": 0.433,
"predicted_RBI": 0.283,
"predicted_SLG": 0.391,
"predicted_SO": 1.05
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2181,
"predicted_3B": 0.0141,
"predicted_AB": 3.2602,
"predicted_AVG": 0.2713,
"predicted_BB": 0.3288,
"predicted_H": 0.8855,
"predicted_HBP": 0.115,
"predicted_HR": 0.0322,
"predicted_OBP": 0.3446,
"predicted_R": 0.4318,
"predicted_RBI": 0.2946,
"predicted_SLG": 0.3767,
"predicted_SO": 0.9484
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.2181,
"delta": -0.0149,
"percent_delta": -0.0639,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0141,
"delta": -0.0029,
"percent_delta": -0.1706,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.283,
"after": 3.2602,
"delta": -0.0228,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2713,
"delta": -0.0077,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.3288,
"delta": 0.0618,
"percent_delta": 0.2315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.917,
"after": 0.8855,
"delta": -0.0315,
"percent_delta": -0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.033,
"after": 0.0322,
"delta": -0.0008,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3446,
"delta": 0.0116,
"percent_delta": 0.0348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.433,
"after": 0.4318,
"delta": -0.0012,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.283,
"after": 0.2946,
"delta": 0.0116,
"percent_delta": 0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3767,
"delta": -0.0143,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.05,
"after": 0.9484,
"delta": -0.1016,
"percent_delta": -0.0968,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.267,
"after": 0.3288,
"delta": 0.0618,
"percent_delta": 0.2315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.05,
"after": 0.9484,
"delta": -0.1016,
"percent_delta": -0.0968,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 60
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2181,
"predicted_3B": 0.0141,
"predicted_AB": 3.2602,
"predicted_AVG": 0.2758,
"predicted_BB": 0.3305,
"predicted_H": 0.8992,
"predicted_HBP": 0.115,
"predicted_HR": 0.0327,
"predicted_OBP": 0.3425,
"predicted_R": 0.4435,
"predicted_RBI": 0.3026,
"predicted_SLG": 0.3815,
"predicted_SO": 0.9434
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2181,
"after": 0.2181,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0141,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2602,
"after": 3.2602,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2713,
"after": 0.2758,
"delta": 0.0045,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3288,
"after": 0.3305,
"delta": 0.0017,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8855,
"after": 0.8992,
"delta": 0.0137,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.115,
"after": 0.115,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0322,
"after": 0.0327,
"delta": 0.0005,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3446,
"after": 0.3425,
"delta": -0.0021,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4318,
"after": 0.4435,
"delta": 0.0117,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2946,
"after": 0.3026,
"delta": 0.008,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3767,
"after": 0.3815,
"delta": 0.0048,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9484,
"after": 0.9434,
"delta": -0.005,
"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 3 (raw=3.28), rates preserved: AVG=0.274 HR/AB=0.010",
"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.2181,
"after": 0.0,
"delta": -0.2181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0,
"delta": -0.0141,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2602,
"after": 3.0,
"delta": -0.2602,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3305,
"after": 0.0,
"delta": -0.3305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8992,
"after": 1.0,
"delta": 0.1008,
"percent_delta": 0.1121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.115,
"after": 0.0,
"delta": -0.115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0327,
"after": 0.0,
"delta": -0.0327,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3026,
"after": 0.0,
"delta": -0.3026,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9434,
"after": 1.0,
"delta": 0.0566,
"percent_delta": 0.06,
"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.8992,
"after": 1.0,
"delta": 0.1008,
"percent_delta": 0.1121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4435,
"after": 0.0,
"delta": -0.4435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4435,
"after": 0.0,
"delta": -0.4435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.274,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.345,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.379,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2758,
"after": 0.274,
"delta": -0.0018,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3425,
"after": 0.345,
"delta": 0.0025,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3815,
"after": 0.379,
"delta": -0.0025,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2758,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3425,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3815,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2758,
"delta": 0.0018,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.345,
"after": 0.3425,
"delta": -0.0025,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3815,
"delta": 0.0025,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.283,
"after": 4.0,
"delta": 0.717,
"percent_delta": 0.2184,
"direction": "boost",
"projection_effect": "better",
"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.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.917,
"after": 2.0,
"delta": 1.083,
"percent_delta": 1.181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3425,
"delta": 0.0095,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.433,
"after": 1.0,
"delta": 0.567,
"percent_delta": 1.3095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.283,
"after": 0.0,
"delta": -0.283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3815,
"delta": -0.0095,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.05,
"after": 1.0,
"delta": -0.05,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.917,
"after": 2.0,
"delta": 1.083,
"percent_delta": 1.181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.283,
"after": 0.0,
"delta": -0.283,
"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.233 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.283 | - |
| predicted_AVG | 0.279 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.917 | - |
| predicted_HR | 0.033 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.433 | - |
| predicted_RBI | 0.283 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 1.050 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.218 | -0.015 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.260 | -0.023 |
| predicted_AVG | 0.271 | -0.008 |
| predicted_BB | 0.329 | 0.062 |
| predicted_H | 0.885 | -0.032 |
| predicted_HBP | 0.115 | - |
| predicted_HR | 0.032 | -0.001 |
| predicted_OBP | 0.345 | 0.012 |
| predicted_R | 0.432 | -0.001 |
| predicted_RBI | 0.295 | 0.012 |
| predicted_SLG | 0.377 | -0.014 |
| predicted_SO | 0.948 | -0.102 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.218 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.260 | 0.000 |
| predicted_AVG | 0.276 | 0.005 |
| predicted_BB | 0.331 | 0.002 |
| predicted_H | 0.899 | 0.014 |
| predicted_HBP | 0.115 | 0.000 |
| predicted_HR | 0.033 | 0.001 |
| predicted_OBP | 0.343 | -0.002 |
| predicted_R | 0.444 | 0.012 |
| predicted_RBI | 0.303 | 0.008 |
| predicted_SLG | 0.382 | 0.005 |
| predicted_SO | 0.943 | -0.005 |
AB rounded to 3 (raw=3.28), rates preserved: AVG=0.274 HR/AB=0.010
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.218 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 3.000 | -0.260 |
| predicted_AVG | 0.274 | -0.002 |
| predicted_BB | 0.000 | -0.331 |
| predicted_H | 1.000 | 0.101 |
| predicted_HR | 0.000 | -0.033 |
| predicted_OBP | 0.345 | 0.002 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 0.000 | -0.303 |
| predicted_SLG | 0.379 | -0.003 |
| predicted_SO | 1.000 | 0.057 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 3.000 | 2.000 | 0.2667 | 0.4211 | 0.3333 | 0.2667 | 0.0000 | 0.1333 | 0.2000 | 0.1333 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 7.000 | 5.000 | 0.2069 | 0.3947 | 0.2414 | 0.2069 | 0.0000 | 0.0690 | 0.2414 | 0.1724 |
| season | 0.60 | 60 | - | 197.000 | 55.000 | 14.000 | 1.000 | 2.000 | 17.000 | 26.000 | 16.000 | 63.000 | 0.2792 | 0.3425 | 0.3909 | 0.2792 | 0.0101 | 0.0863 | 0.0812 | 0.3198 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1970 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.2280 |
| predicted_AVG | 0.2605 |
| predicted_BB | 0.4160 |
| predicted_H | 0.8410 |
| predicted_HBP | 0.1150 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.3610 |
| predicted_R | 0.4300 |
| predicted_RBI | 0.3110 |
| predicted_SLG | 0.3565 |
| predicted_SO | 0.8050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.1970 | 0.2181 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0141 | model_form_blend |
| predicted_AB | 3.2830 | 3.2280 | 3.2602 | model_form_blend |
| predicted_AVG | 0.2790 | 0.2605 | 0.2713 | model_form_blend |
| predicted_BB | 0.2670 | 0.4160 | 0.3288 | model_form_blend |
| predicted_H | 0.9170 | 0.8410 | 0.8855 | model_form_blend |
| predicted_HBP | - | 0.1150 | 0.1150 | form_only |
| predicted_HR | 0.0330 | 0.0310 | 0.0322 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3610 | 0.3446 | model_form_blend |
| predicted_R | 0.4330 | 0.4300 | 0.4318 | model_form_blend |
| predicted_RBI | 0.2830 | 0.3110 | 0.2946 | model_form_blend |
| predicted_SLG | 0.3910 | 0.3565 | 0.3767 | model_form_blend |
| predicted_SO | 1.0500 | 0.8050 | 0.9484 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 222 |
| Season rows before report date | 222 |
| Report year | 2026 |
| Profile rows used | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 2 |
| Hitting_GIDP | 1 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-CF-LF |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 814439 |
| playerID | 814439 |
| playerName | Ryan Waldschmidt |
| pos | CF |
| started | True |
| startingPosition | LF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 28.4 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.325 |
| sl_xwoba | 0.307 |
| sl_xba | 0.253 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 48.6 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 31.9 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 43.6 |
| at_bat_number | 84.0 |
| ab_pitcher | 663558.0 |
| ab_pitcher_name | Morán, Jovani |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 699912.0 |
| ab_on_2b_start | 543510.0 |
| ab_on_3b_start | 694374.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 7.0 |
| ab_bat_score_start | 7.0 |
| ab_fld_score_start | 5.0 |
| ab_event | grounded_into_double_play |
| ab_event_description | Ryan Waldschmidt grounds into a double play, third baseman Caleb Durbin to second baseman Nick Sogard to first baseman Willson Contreras. Jose Fernandez out at 2nd. Ryan Waldschmidt out at 1st. |
| 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 | 4.0 |
| ab_launch_speed_last | 92.9 |
| ab_launch_angle_last | -2.0 |
| ab_hit_distance_last | 35.0 |
| ab_estimated_ba_last | 0.319 |
| ab_estimated_woba_last | 0.287 |
| ab_estimated_slg_last | 0.362 |
| 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 | 5.0 |
| ab_away_score_end | 7.0 |
| ab_bat_score_end | 7.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 93.5 |
| ab_release_spin_rate_avg | 2456.5 |
| ab_effective_speed_avg | 94.35 |
| ab_launch_speed_avg | 92.9 |
| ab_launch_angle_avg | -2.0 |
| ab_delta_run_exp_avg | -0.1664999999999999 |
| ab_delta_home_win_exp_avg | 0.053 |
| ab_delta_pitcher_run_exp_avg | 0.1664999999999999 |
| ab_bat_speed_avg | 72.5 |
| ab_swing_length_avg | 6.4 |
| ab_launch_speed_max | 92.9 |
| ab_hit_distance_sc_max | 35.0 |
| ab_release_speed_max | 94.4 |
| ab_release_spin_rate_max | 2477.0 |
| ab_release_speed_min | 92.6 |
| ab_release_spin_rate_min | 2436.0 |
| ab_delta_run_exp_sum | -0.3329999999999999 |
| ab_delta_home_win_exp_sum | 0.106 |
| ab_delta_pitcher_run_exp_sum | 0.3329999999999999 |
| 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 | 0.000 | 0.000 | Hitting_2B | 0.215 | 0.000 | -0.215 | 0.000 |
| predicted_3B | 0.121 | 0.000 | 0.000 | Hitting_3B | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_AB | 4.400 | 3.000 | 4.000 | Hitting_AB | 3.818 | 4.000 | -0.818 | -1.000 |
| predicted_AVG | 0.221 | 0.000 | 0.250 | Hitting_AVG | 0.252 | 0.250 | -0.252 | -0.250 |
| predicted_BB | 0.516 | 1.000 | 1.000 | Hitting_BB | 0.544 | 1.000 | 0.456 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 0.963 | 1.000 | -0.963 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.375 | 0.250 | 0.400 | Hitting_OBP | 0.353 | 0.400 | -0.103 | -0.150 |
| predicted_R | 0.629 | 0.000 | 1.000 | Hitting_R | 0.659 | 1.000 | -0.659 | -1.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.495 | 0.000 | -0.495 | 0.000 |
| predicted_SLG | 0.503 | 0.000 | 0.250 | Hitting_SLG | 0.497 | 0.250 | -0.497 | -0.250 |
| predicted_SO | 0.944 | 0.000 | 1.000 | Hitting_SO | 0.967 | 2.000 | -0.967 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 10 |
| Better Metrics | 3 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.5160 -> 1.0000 (boost 0.4840, better) |
| Biggest Deboost | predicted_AB: 4.4000 -> 3.0000 (deboost -1.4000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_BB: 0.5160 -> 0.5751 (boost 0.0591, better) | predicted_AB: 4.4000 -> 4.0241 (deboost -0.3759, worse) | Final model input calibrated with local 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.3800 -> 0.3346 (deboost -0.0454, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_BB: 0.5781 -> 1.0000 (boost 0.4219, better) | predicted_RBI: 0.3854 -> 0.0000 (deboost -0.3854, worse) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.219 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6572 -> 1.0000 (boost 0.3428, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4440 -> 0.4856 (boost 0.0416, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "RF",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.21,
"predicted_3B": 0.121,
"predicted_AB": 4.4,
"predicted_AVG": 0.221,
"predicted_BB": 0.516,
"predicted_H": 0.97,
"predicted_HR": 0.2,
"predicted_OBP": 0.375,
"predicted_R": 0.629,
"predicted_RBI": 0.41,
"predicted_SLG": 0.503,
"predicted_SO": 0.944
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2165,
"predicted_3B": 0.1336,
"predicted_AB": 4.0241,
"predicted_AVG": 0.2376,
"predicted_BB": 0.5751,
"predicted_H": 0.947,
"predicted_HBP": 0.12,
"predicted_HR": 0.167,
"predicted_OBP": 0.38,
"predicted_R": 0.6399,
"predicted_RBI": 0.3752,
"predicted_SLG": 0.5074,
"predicted_SO": 0.8823
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.2165,
"delta": 0.0065,
"percent_delta": 0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.121,
"after": 0.1336,
"delta": 0.0126,
"percent_delta": 0.1041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0241,
"delta": -0.3759,
"percent_delta": -0.0854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2376,
"delta": 0.0166,
"percent_delta": 0.0751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.516,
"after": 0.5751,
"delta": 0.0591,
"percent_delta": 0.1145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.947,
"delta": -0.023,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.167,
"delta": -0.033,
"percent_delta": -0.165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.38,
"delta": 0.005,
"percent_delta": 0.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.629,
"after": 0.6399,
"delta": 0.0109,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3752,
"delta": -0.0348,
"percent_delta": -0.0849,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.5074,
"delta": 0.0044,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.944,
"after": 0.8823,
"delta": -0.0617,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.516,
"after": 0.5751,
"delta": 0.0591,
"percent_delta": 0.1145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.0241,
"delta": -0.3759,
"percent_delta": -0.0854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2165,
"predicted_3B": 0.1336,
"predicted_AB": 4.0241,
"predicted_AVG": 0.239,
"predicted_BB": 0.5781,
"predicted_H": 0.9617,
"predicted_HBP": 0.12,
"predicted_HR": 0.1696,
"predicted_OBP": 0.3346,
"predicted_R": 0.6572,
"predicted_RBI": 0.3854,
"predicted_SLG": 0.4856,
"predicted_SO": 0.8776
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2165,
"after": 0.2165,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1336,
"after": 0.1336,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0241,
"after": 4.0241,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2376,
"after": 0.239,
"delta": 0.0014,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5751,
"after": 0.5781,
"delta": 0.003,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.947,
"after": 0.9617,
"delta": 0.0147,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.12,
"after": 0.12,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.167,
"after": 0.1696,
"delta": 0.0026,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.38,
"after": 0.3346,
"delta": -0.0454,
"percent_delta": -0.1195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6399,
"after": 0.6572,
"delta": 0.0173,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3752,
"after": 0.3854,
"delta": 0.0102,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5074,
"after": 0.4856,
"delta": -0.0218,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8823,
"after": 0.8776,
"delta": -0.0047,
"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.38,
"after": 0.3346,
"delta": -0.0454,
"percent_delta": -0.1195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.219 HR/AB=0.039",
"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.2165,
"after": 0.0,
"delta": -0.2165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1336,
"after": 0.0,
"delta": -0.1336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0241,
"after": 4.0,
"delta": -0.0241,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5781,
"after": 1.0,
"delta": 0.4219,
"percent_delta": 0.7298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9617,
"after": 1.0,
"delta": 0.0383,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1696,
"after": 0.0,
"delta": -0.1696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3854,
"after": 0.0,
"delta": -0.3854,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8776,
"after": 1.0,
"delta": 0.1224,
"percent_delta": 0.1395,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5781,
"after": 1.0,
"delta": 0.4219,
"percent_delta": 0.7298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3854,
"after": 0.0,
"delta": -0.3854,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6572,
"after": 1.0,
"delta": 0.3428,
"percent_delta": 0.5216,
"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.6572,
"after": 1.0,
"delta": 0.3428,
"percent_delta": 0.5216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_R",
"before": 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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 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": 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.219,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.444,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.219,
"delta": -0.02,
"percent_delta": -0.0837,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3346,
"after": 0.314,
"delta": -0.0206,
"percent_delta": -0.0616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4856,
"after": 0.444,
"delta": -0.0416,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.239,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4856,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.239,
"delta": 0.02,
"percent_delta": 0.0912,
"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.314,
"after": 0.3346,
"delta": 0.0206,
"percent_delta": 0.0655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4856,
"delta": 0.0416,
"percent_delta": 0.0937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.444,
"after": 0.4856,
"delta": 0.0416,
"percent_delta": 0.0937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.121,
"after": 0.0,
"delta": -0.121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 3.0,
"delta": -1.4,
"percent_delta": -0.3182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.239,
"delta": 0.018,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.516,
"after": 1.0,
"delta": 0.484,
"percent_delta": 0.938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3346,
"delta": -0.0404,
"percent_delta": -0.1077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.629,
"after": 0.0,
"delta": -0.629,
"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.503,
"after": 0.4856,
"delta": -0.0174,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.944,
"after": 0.0,
"delta": -0.944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 2,
"deboosted_metrics": 10,
"better_metrics": 3,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.516,
"after": 1.0,
"delta": 0.484,
"percent_delta": 0.938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 3.0,
"delta": -1.4,
"percent_delta": -0.3182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | - |
| predicted_3B | 0.121 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.516 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.375 | - |
| predicted_R | 0.629 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.503 | - |
| predicted_SO | 0.944 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | 0.007 |
| predicted_3B | 0.134 | 0.013 |
| predicted_AB | 4.024 | -0.376 |
| predicted_AVG | 0.238 | 0.017 |
| predicted_BB | 0.575 | 0.059 |
| predicted_H | 0.947 | -0.023 |
| predicted_HBP | 0.120 | - |
| predicted_HR | 0.167 | -0.033 |
| predicted_OBP | 0.380 | 0.005 |
| predicted_R | 0.640 | 0.011 |
| predicted_RBI | 0.375 | -0.035 |
| predicted_SLG | 0.507 | 0.004 |
| predicted_SO | 0.882 | -0.062 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.216 | 0.000 |
| predicted_3B | 0.134 | 0.000 |
| predicted_AB | 4.024 | 0.000 |
| predicted_AVG | 0.239 | 0.001 |
| predicted_BB | 0.578 | 0.003 |
| predicted_H | 0.962 | 0.015 |
| predicted_HBP | 0.120 | 0.000 |
| predicted_HR | 0.170 | 0.003 |
| predicted_OBP | 0.335 | -0.045 |
| predicted_R | 0.657 | 0.017 |
| predicted_RBI | 0.385 | 0.010 |
| predicted_SLG | 0.486 | -0.022 |
| predicted_SO | 0.878 | -0.005 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.219 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.216 |
| predicted_3B | 0.000 | -0.134 |
| predicted_AB | 4.000 | -0.024 |
| predicted_AVG | 0.219 | -0.020 |
| predicted_BB | 1.000 | 0.422 |
| predicted_H | 1.000 | 0.038 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.314 | -0.021 |
| predicted_R | 1.000 | 0.343 |
| predicted_RBI | 0.000 | -0.385 |
| predicted_SLG | 0.444 | -0.042 |
| predicted_SO | 1.000 | 0.122 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 1.000 | 0.000 | 0.000 | 3.000 | 5.000 | 3.000 | 0.2667 | 0.4762 | 0.4667 | 0.2667 | 0.0000 | 0.0000 | 0.3333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 3.000 | 2.000 | 2.000 | 3.000 | 8.000 | 7.000 | 6.000 | 0.2941 | 0.4419 | 0.6765 | 0.2941 | 0.0588 | 0.0882 | 0.2059 | 0.1765 |
| season | 0.60 | 124 | - | 463.000 | 114.000 | 26.000 | 15.000 | 18.000 | 57.000 | 78.000 | 64.000 | 117.000 | 0.2462 | 0.3457 | 0.4838 | 0.2462 | 0.0389 | 0.1231 | 0.1382 | 0.2527 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2250 |
| predicted_3B | 0.1500 |
| predicted_AB | 3.5350 |
| predicted_AVG | 0.2593 |
| predicted_BB | 0.6520 |
| predicted_H | 0.9170 |
| predicted_HBP | 0.1200 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.3865 |
| predicted_R | 0.6540 |
| predicted_RBI | 0.3300 |
| predicted_SLG | 0.5131 |
| predicted_SO | 0.8020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2100 | 0.2250 | 0.2165 | model_form_blend |
| predicted_3B | 0.1210 | 0.1500 | 0.1336 | model_form_blend |
| predicted_AB | 4.4000 | 3.5350 | 4.0241 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2593 | 0.2376 | model_form_blend |
| predicted_BB | 0.5160 | 0.6520 | 0.5751 | model_form_blend |
| predicted_H | 0.9700 | 0.9170 | 0.9470 | model_form_blend |
| predicted_HBP | - | 0.1200 | 0.1200 | form_only |
| predicted_HR | 0.2000 | 0.1240 | 0.1670 | model_form_blend |
| predicted_OBP | 0.3750 | 0.3865 | 0.3800 | model_form_blend |
| predicted_R | 0.6290 | 0.6540 | 0.6399 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3300 | 0.3752 | model_form_blend |
| predicted_SLG | 0.5030 | 0.5131 | 0.5074 | model_form_blend |
| predicted_SO | 0.9440 | 0.8020 | 0.8823 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 539 |
| Season rows before report date | 539 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 682998 |
| playerID | 682998 |
| playerName | Corbin Carroll |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.357 |
| sl_xwoba | 0.344 |
| sl_xba | 0.247 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 48.1 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 45.2 |
| at_bat_number | 74.0 |
| ab_pitcher | 547973.0 |
| ab_pitcher_name | Chapman, Aroldis |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 814439.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 5.0 |
| ab_event | field_out |
| ab_event_description | Corbin Carroll grounds out, second baseman Nick Sogard to first baseman Willson Contreras. Ryan Waldschmidt to 2nd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FS |
| ab_pitch_name_last | Split-Finger |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 94.9 |
| ab_launch_angle_last | -28.0 |
| ab_hit_distance_last | 4.0 |
| ab_estimated_ba_last | 0.097 |
| ab_estimated_woba_last | 0.087 |
| ab_estimated_slg_last | 0.108 |
| 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 | 5.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 89.575 |
| ab_release_spin_rate_avg | 2042.0 |
| ab_effective_speed_avg | 91.5 |
| ab_launch_speed_avg | 94.9 |
| ab_launch_angle_avg | -28.0 |
| ab_delta_run_exp_avg | -0.08 |
| ab_delta_home_win_exp_avg | 0.00825 |
| ab_delta_pitcher_run_exp_avg | 0.08 |
| ab_bat_speed_avg | 74.0 |
| ab_swing_length_avg | 7.3 |
| ab_launch_speed_max | 94.9 |
| ab_hit_distance_sc_max | 4.0 |
| ab_release_speed_max | 95.7 |
| ab_release_spin_rate_max | 2300.0 |
| ab_release_speed_min | 85.7 |
| ab_release_spin_rate_min | 1411.0 |
| ab_delta_run_exp_sum | -0.32 |
| ab_delta_home_win_exp_sum | 0.033 |
| ab_delta_pitcher_run_exp_sum | 0.32 |
| 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.138 | 0.000 | 0.000 | Hitting_2B | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_3B | 0.049 | 0.000 | 0.000 | Hitting_3B | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_AB | 3.593 | 4.000 | 4.000 | Hitting_AB | 3.704 | 3.000 | 0.296 | 1.000 |
| predicted_AVG | 0.197 | 0.750 | 0.250 | Hitting_AVG | 0.246 | 0.000 | 0.504 | 0.750 |
| predicted_BB | 0.610 | 0.000 | 1.000 | Hitting_BB | 0.640 | 1.000 | -0.640 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_H | 0.660 | 3.000 | 1.000 | Hitting_H | 0.911 | 0.000 | 2.089 | 3.000 |
| predicted_HR | 0.040 | 1.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | 0.917 | 1.000 |
| predicted_OBP | 0.312 | 0.750 | 0.400 | Hitting_OBP | 0.359 | 0.250 | 0.391 | 0.500 |
| predicted_R | 0.480 | 1.000 | 1.000 | Hitting_R | 0.526 | 0.000 | 0.474 | 1.000 |
| predicted_RBI | 0.280 | 2.000 | 0.000 | Hitting_RBI | 0.349 | 0.000 | 1.651 | 2.000 |
| predicted_SLG | 0.296 | 1.500 | 0.250 | Hitting_SLG | 0.381 | 0.000 | 1.119 | 1.500 |
| predicted_SO | 0.537 | 0.000 | 0.000 | Hitting_SO | 0.555 | 0.000 | -0.555 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 0.6600 -> 3.0000 (boost 2.3400, better) |
| Biggest Deboost | predicted_BB: 0.6100 -> 0.0000 (deboost -0.6100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2960 -> 0.3070 (boost 0.0110, 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 | 4 | 2 | 3 | 3 | predicted_SO: 0.5609 -> 1.0000 (boost 0.4391, worse) | predicted_RBI: 0.2880 -> 0.0000 (deboost -0.2880, worse) | AB rounded to 4 (raw=3.59), rates preserved: AVG=0.198 HR/AB=0.012 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4444 -> 0.0000 (deboost -0.4444, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | lineup_integer_allocation | 2 | 1 | 1 | 2 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 8 | embedded_savant_player_context | 5 | 4 | 1 | 3 | 2 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 9 | simulation_box_score_reference | 6 | 4 | 2 | 5 | 1 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 10 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3430 -> 0.3031 (deboost -0.0399, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"position": "SS",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.049,
"predicted_AB": 3.593,
"predicted_AVG": 0.197,
"predicted_BB": 0.61,
"predicted_H": 0.66,
"predicted_HR": 0.04,
"predicted_OBP": 0.312,
"predicted_R": 0.48,
"predicted_RBI": 0.28,
"predicted_SLG": 0.296,
"predicted_SO": 0.537
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1493,
"predicted_3B": 0.0481,
"predicted_AB": 3.5908,
"predicted_AVG": 0.2023,
"predicted_BB": 0.5757,
"predicted_H": 0.6995,
"predicted_HBP": 0.02,
"predicted_HR": 0.0435,
"predicted_OBP": 0.3102,
"predicted_R": 0.4327,
"predicted_RBI": 0.2804,
"predicted_SLG": 0.307,
"predicted_SO": 0.5639
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1493,
"delta": 0.0113,
"percent_delta": 0.0819,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0481,
"delta": -0.0009,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.593,
"after": 3.5908,
"delta": -0.0022,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2023,
"delta": 0.0053,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.61,
"after": 0.5757,
"delta": -0.0343,
"percent_delta": -0.0562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.6995,
"delta": 0.0395,
"percent_delta": 0.0598,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0435,
"delta": 0.0035,
"percent_delta": 0.0875,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3102,
"delta": -0.0018,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.48,
"after": 0.4327,
"delta": -0.0473,
"percent_delta": -0.0985,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2804,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.296,
"after": 0.307,
"delta": 0.011,
"percent_delta": 0.0372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.537,
"after": 0.5639,
"delta": 0.0269,
"percent_delta": 0.0501,
"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.296,
"after": 0.307,
"delta": 0.011,
"percent_delta": 0.0372,
"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": 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.1493,
"predicted_3B": 0.0481,
"predicted_AB": 3.5908,
"predicted_AVG": 0.1978,
"predicted_BB": 0.5788,
"predicted_H": 0.7103,
"predicted_HBP": 0.02,
"predicted_HR": 0.0442,
"predicted_OBP": 0.3092,
"predicted_R": 0.4444,
"predicted_RBI": 0.288,
"predicted_SLG": 0.3031,
"predicted_SO": 0.5609
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1493,
"after": 0.1493,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0481,
"after": 0.0481,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5908,
"after": 3.5908,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2023,
"after": 0.1978,
"delta": -0.0045,
"percent_delta": -0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5757,
"after": 0.5788,
"delta": 0.0031,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6995,
"after": 0.7103,
"delta": 0.0108,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0435,
"after": 0.0442,
"delta": 0.0007,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3102,
"after": 0.3092,
"delta": -0.001,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4327,
"after": 0.4444,
"delta": 0.0117,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2804,
"after": 0.288,
"delta": 0.0076,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.3031,
"delta": -0.0039,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5639,
"after": 0.5609,
"delta": -0.003,
"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.198 HR/AB=0.012",
"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.1493,
"after": 0.0,
"delta": -0.1493,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0481,
"after": 0.0,
"delta": -0.0481,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5908,
"after": 4.0,
"delta": 0.4092,
"percent_delta": 0.114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5788,
"after": 1.0,
"delta": 0.4212,
"percent_delta": 0.7277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7103,
"after": 1.0,
"delta": 0.2897,
"percent_delta": 0.4079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0442,
"after": 0.0,
"delta": -0.0442,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5609,
"after": 1.0,
"delta": 0.4391,
"percent_delta": 0.7828,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5609,
"after": 1.0,
"delta": 0.4391,
"percent_delta": 0.7828,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.4444,
"after": 0.0,
"delta": -0.4444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4444,
"after": 0.0,
"delta": -0.4444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_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_R",
"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": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.207,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.315,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.343,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1978,
"after": 0.207,
"delta": 0.0092,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3092,
"after": 0.315,
"delta": 0.0058,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3031,
"after": 0.343,
"delta": 0.0399,
"percent_delta": 0.1316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 10,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1978,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3092,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3031,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.1978,
"delta": -0.0092,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.315,
"after": 0.3092,
"delta": -0.0058,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.343,
"after": 0.3031,
"delta": -0.0399,
"percent_delta": -0.1163,
"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.343,
"after": 0.3031,
"delta": -0.0399,
"percent_delta": -0.1163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"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.197,
"after": 0.1978,
"delta": 0.0008,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 3.0,
"delta": 2.34,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 1.0,
"delta": 0.96,
"percent_delta": 24.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3092,
"delta": -0.0028,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.48,
"after": 1.0,
"delta": 0.52,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 2.0,
"delta": 1.72,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.296,
"after": 0.3031,
"delta": 0.0071,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.537,
"after": 0.0,
"delta": -0.537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.66,
"after": 3.0,
"delta": 2.34,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.138 | - |
| predicted_3B | 0.049 | - |
| predicted_AB | 3.593 | - |
| predicted_AVG | 0.197 | - |
| predicted_BB | 0.610 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.480 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.296 | - |
| predicted_SO | 0.537 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | 0.011 |
| predicted_3B | 0.048 | -0.001 |
| predicted_AB | 3.591 | -0.002 |
| predicted_AVG | 0.202 | 0.005 |
| predicted_BB | 0.576 | -0.034 |
| predicted_H | 0.700 | 0.039 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.043 | 0.003 |
| predicted_OBP | 0.310 | -0.002 |
| predicted_R | 0.433 | -0.047 |
| predicted_RBI | 0.280 | 0.000 |
| predicted_SLG | 0.307 | 0.011 |
| predicted_SO | 0.564 | 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.149 | 0.000 |
| predicted_3B | 0.048 | 0.000 |
| predicted_AB | 3.591 | 0.000 |
| predicted_AVG | 0.198 | -0.005 |
| predicted_BB | 0.579 | 0.003 |
| predicted_H | 0.710 | 0.011 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.044 | 0.001 |
| predicted_OBP | 0.309 | -0.001 |
| predicted_R | 0.444 | 0.012 |
| predicted_RBI | 0.288 | 0.008 |
| predicted_SLG | 0.303 | -0.004 |
| predicted_SO | 0.561 | -0.003 |
AB rounded to 4 (raw=3.59), rates preserved: AVG=0.198 HR/AB=0.012
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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 | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.149 |
| predicted_3B | 0.000 | -0.048 |
| predicted_AB | 4.000 | 0.409 |
| predicted_AVG | 0.207 | 0.009 |
| predicted_BB | 1.000 | 0.421 |
| predicted_H | 1.000 | 0.290 |
| predicted_HR | 0.000 | -0.044 |
| predicted_OBP | 0.315 | 0.006 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 0.000 | -0.288 |
| predicted_SLG | 0.343 | 0.040 |
| predicted_SO | 1.000 | 0.439 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 4.000 | 0.0588 | 0.1500 | 0.1176 | 0.0588 | 0.0000 | 0.0588 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 2.000 | 1.000 | 0.000 | 1.000 | 4.000 | 5.000 | 5.000 | 0.2432 | 0.3256 | 0.3514 | 0.2432 | 0.0000 | 0.0270 | 0.1351 | 0.1351 |
| season | 0.60 | 123 | - | 442.000 | 108.000 | 17.000 | 6.000 | 9.000 | 43.000 | 59.000 | 75.000 | 66.000 | 0.2443 | 0.3548 | 0.3710 | 0.2443 | 0.0204 | 0.0973 | 0.1697 | 0.1493 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0470 |
| predicted_AB | 3.5880 |
| predicted_AVG | 0.2092 |
| predicted_BB | 0.5310 |
| predicted_H | 0.7510 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.3079 |
| predicted_R | 0.3710 |
| predicted_RBI | 0.2810 |
| predicted_SLG | 0.3213 |
| predicted_SO | 0.5990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.1640 | 0.1493 | model_form_blend |
| predicted_3B | 0.0490 | 0.0470 | 0.0481 | model_form_blend |
| predicted_AB | 3.5930 | 3.5880 | 3.5908 | model_form_blend |
| predicted_AVG | 0.1970 | 0.2092 | 0.2023 | model_form_blend |
| predicted_BB | 0.6100 | 0.5310 | 0.5757 | model_form_blend |
| predicted_H | 0.6600 | 0.7510 | 0.6995 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0400 | 0.0480 | 0.0435 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3079 | 0.3102 | model_form_blend |
| predicted_R | 0.4800 | 0.3710 | 0.4327 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2810 | 0.2804 | model_form_blend |
| predicted_SLG | 0.2960 | 0.3213 | 0.3070 | model_form_blend |
| predicted_SO | 0.5370 | 0.5990 | 0.5639 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 530 |
| Season rows before report date | 530 |
| 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 | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 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 | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260819_ARI@BOS |
| game_type | full |
| mlbID | 672695 |
| playerID | 672695 |
| playerName | Geraldo Perdomo |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-19 |
| game_pk | 824722.0 |
| sl_k_percent | 12.4 |
| sl_bb_percent | 14.1 |
| sl_woba | 0.327 |
| sl_xwoba | 0.323 |
| sl_xba | 0.249 |
| sl_xslg | 0.341 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 3.1 |
| sl_hard_hit_percent | 29.7 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 12.1 |
| sl_swing_percent | 39.0 |
| at_bat_number | 79.0 |
| ab_pitcher | 663558.0 |
| ab_pitcher_name | Morán, Jovani |
| ab_home_team | BOS |
| ab_away_team | AZ |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_2b_start | 672515.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 5.0 |
| ab_event | sac_bunt |
| ab_event_description | Geraldo Perdomo out on a sacrifice bunt, first baseman Willson Contreras to second baseman Nick Sogard. Gabriel Moreno to 3rd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 3.0 |
| ab_launch_speed_last | 14.5 |
| ab_launch_angle_last | 29.0 |
| ab_hit_distance_last | 16.0 |
| ab_woba_value | 0.2 |
| ab_woba_denom | 0.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 | 5.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 88.1 |
| ab_release_spin_rate_avg | 2190.5 |
| ab_effective_speed_avg | 88.3 |
| ab_launch_speed_avg | 14.5 |
| ab_launch_angle_avg | 29.0 |
| ab_delta_run_exp_avg | 0.0014999999999999 |
| ab_delta_home_win_exp_avg | 0.0065 |
| ab_delta_pitcher_run_exp_avg | -0.0014999999999999 |
| ab_bat_speed_avg | 10.65 |
| ab_swing_length_avg | 1.5 |
| ab_launch_speed_max | 14.5 |
| ab_hit_distance_sc_max | 16.0 |
| ab_release_speed_max | 94.0 |
| ab_release_spin_rate_max | 2487.0 |
| ab_release_speed_min | 82.2 |
| ab_release_spin_rate_min | 1894.0 |
| ab_delta_run_exp_sum | 0.0029999999999999 |
| ab_delta_home_win_exp_sum | 0.013 |
| ab_delta_pitcher_run_exp_sum | -0.0029999999999999 |
| 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 | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.880 | 0.000 | 0.120 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.800 | 2.000 | 1.200 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.360 | 5.000 | 0.640 | 1.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 5.852 | 6.000 | 0.248 | 0.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.240 | 5.000 | 0.760 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "593958",
"player_name": "Eduardo Rodriguez",
"position": "Starter",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_R": 3.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.1,
"after": 6.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 5.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 32.200 | 11.000 | 33.000 | 6.000 | 24.000 | 2.000 | 3.0306 | 1.1939 | 0.3367 | 1.0102 | 0.1837 | 0.7347 | 0.0612 |
| last_10 | 0.35 | 10 | 61.000 | 21.000 | 60.000 | 12.000 | 41.000 | 5.000 | 3.0984 | 1.1803 | 0.3443 | 0.9836 | 0.1967 | 0.6721 | 0.0820 |
| season | 0.20 | 25 | 149.100 | 45.000 | 134.000 | 47.000 | 106.000 | 14.000 | 2.7121 | 1.2121 | 0.3013 | 0.8973 | 0.3147 | 0.7098 | 0.0938 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5120 |
| predicted_ER | 2.2730 |
| predicted_ERA | 3.2440 |
| predicted_H | 6.1630 |
| predicted_HR | 0.5490 |
| predicted_IP | 6.1000 |
| predicted_SO | 4.7200 |
| predicted_WHIP | 1.2171 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.5120 | 1.7172 | model_form_blend |
| predicted_ER | 3.0000 | 2.2730 | 2.5787 | model_form_blend |
| predicted_ERA | - | 3.2440 | 3.2440 | form_only |
| predicted_H | 6.0000 | 6.1630 | 6.0945 | model_form_blend |
| predicted_HR | 1.0000 | 0.5490 | 0.7386 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 4.0000 | 4.7200 | 4.4173 | model_form_blend |
| predicted_WHIP | - | 1.2171 | 1.2171 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 5 |
| HR | 1 |
| BF | 27 |
| Pitches | 109 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 23 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.71 |
| Pitching_Flyouts | 8 |
| Pitching_Groundouts | 2 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 2 |
| Pitching_SO | 5 |
| Pitching_Strikes | 62 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260815_ARI@ATL |
| game_type | full |
| mlbID | 593958 |
| playerID | 593958 |
| playerName | Eduardo Rodriguez |
| pos | P |
| started | True |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-15 |
| game_pk | 824884.0 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.299 |
| sl_xwoba | 0.333 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 35.2 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 48.0 |
| sv_pitch_count | 96.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 88.33437500000001 |
| sv_release_spin_rate | 2191.895833333333 |
| sv_effective_speed | 88.74479166666667 |
| sv_launch_speed | 77.48684210526316 |
| sv_launch_angle | 27.73684210526316 |
| sv_woba_value | 6.3 |
| sv_woba_denom | 23.0 |
| sv_delta_run_exp | -1.473 |
| sv_delta_home_win_exp | -0.064 |
| sl_avg_best_speed | 76.807413965 |
| sl_avg_hyper_speed | 93.546481965 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.189 | 0.000 | 0.811 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.724 | 1.000 | 0.276 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 0.973 | 0.000 | 2.027 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "805299",
"player_name": "Brandyn Garcia",
"position": "Setup Man",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 2.000 | 4.000 | 1.000 | 6.000 | 0.000 | 4.1538 | 1.1538 | 0.4615 | 0.9231 | 0.2308 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 2.000 | 5.000 | 1.000 | 10.000 | 0.000 | 2.2500 | 0.7500 | 0.2500 | 0.6250 | 0.1250 | 1.2500 | 0.0000 |
| season | 0.20 | 36 | 31.000 | 6.000 | 15.000 | 6.000 | 36.000 | 0.000 | 1.7419 | 0.6774 | 0.1935 | 0.4839 | 0.1935 | 1.1613 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2490 |
| predicted_ER | 0.3820 |
| predicted_ERA | 3.6762 |
| predicted_H | 0.7840 |
| predicted_HR | 0.0610 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0670 |
| predicted_WHIP | 1.1051 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2490 | 0.6533 | model_form_blend |
| predicted_ER | 0.0000 | 0.3820 | 0.1764 | model_form_blend |
| predicted_ERA | - | 3.6762 | 3.6762 | form_only |
| predicted_H | 0.0000 | 0.7840 | 0.3619 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0282 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 1.0670 | 2.1076 | model_form_blend |
| predicted_WHIP | - | 1.1051 | 1.1051 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 36 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 3 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.03 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260803_SD@ARI |
| game_type | full |
| mlbID | 805299 |
| playerID | 805299 |
| playerName | Brandyn Garcia |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-03 |
| game_pk | 825095.0 |
| sl_k_percent | 30.4 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.225 |
| sl_xwoba | 0.235 |
| sl_sweet_spot_percent | 19.3 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 33.7 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 44.7 |
| sv_pitch_count | 12.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 93.31666666666666 |
| sv_release_spin_rate | 2389.1666666666665 |
| sv_effective_speed | 91.68333333333334 |
| sv_launch_speed | 81.18571428571428 |
| sv_launch_angle | 18.857142857142858 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.78 |
| sv_delta_home_win_exp | 0.015 |
| sl_avg_best_speed | 78.4757245 |
| sl_avg_hyper_speed | 93.962483375 |
| 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.327 | 0.000 | -0.327 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.612 | 1.000 | 0.388 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.824 | 1.100 | 0.176 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.122 | 2.000 | -0.122 | -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": "666661",
"player_name": "Juan Morillo",
"position": "Closer",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 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 | 0.000 | 7.000 | 0.000 | 0.0000 | 0.3750 | 0.0000 | 0.3750 | 0.0000 | 1.3125 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 1.000 | 4.000 | 3.000 | 12.000 | 0.000 | 0.8438 | 0.6562 | 0.0938 | 0.3750 | 0.2812 | 1.1250 | 0.0000 |
| season | 0.20 | 48 | 46.000 | 13.000 | 29.000 | 16.000 | 55.000 | 2.000 | 2.5435 | 0.9783 | 0.2826 | 0.6304 | 0.3478 | 1.1957 | 0.0435 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2380 |
| predicted_ER | 0.2340 |
| predicted_ERA | 2.1072 |
| predicted_H | 0.6180 |
| predicted_HR | 0.0570 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1280 |
| predicted_WHIP | 0.8559 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2380 | 0.1193 | model_form_blend |
| predicted_ER | 0.0000 | 0.2340 | 0.1173 | model_form_blend |
| predicted_ERA | - | 2.1072 | 2.1072 | form_only |
| predicted_H | 1.0000 | 0.6180 | 0.8084 | model_form_blend |
| predicted_HR | 0.0000 | 0.0570 | 0.0286 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1280 | 1.0642 | model_form_blend |
| predicted_WHIP | - | 0.8559 | 0.8559 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.54 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260803_SD@ARI |
| game_type | full |
| mlbID | 666661 |
| playerID | 666661 |
| playerName | Juan Morillo |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-03 |
| game_pk | 825095.0 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.249 |
| sl_xwoba | 0.238 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 31.5 |
| sl_whiff_percent | 30.8 |
| sl_swing_percent | 48.9 |
| sv_pitch_count | 18.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 97.76111111111112 |
| sv_release_spin_rate | 2375.8888888888887 |
| sv_effective_speed | 97.59444444444443 |
| sv_launch_speed | 90.6 |
| sv_launch_angle | 26.5 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | -0.614 |
| sv_delta_home_win_exp | 0.149 |
| sl_avg_best_speed | 73.975555082 |
| sl_avg_hyper_speed | 92.97193377 |
| 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.229 | 1.000 | -0.229 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.292 | 1.000 | -0.292 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.812 | 2.000 | -0.812 | -2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.850 | 1.000 | -0.650 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.667 | 0.000 | 0.333 | 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": "642528",
"player_name": "Jonathan Loáisiga",
"position": "Middle Reliever (High Leverage)",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 5.000 | 8.000 | 2.000 | 3.000 | 1.000 | 9.0000 | 2.0000 | 1.0000 | 1.6000 | 0.4000 | 0.6000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.200 | 5.000 | 10.000 | 4.000 | 10.000 | 1.000 | 4.6552 | 1.4483 | 0.5172 | 1.0345 | 0.4138 | 1.0345 | 0.1035 |
| season | 0.20 | 48 | 45.000 | 14.000 | 39.000 | 11.000 | 32.000 | 2.000 | 2.8000 | 1.1111 | 0.3111 | 0.8667 | 0.2444 | 0.7111 | 0.0444 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3270 |
| predicted_ER | 0.5500 |
| predicted_ERA | 5.6228 |
| predicted_H | 1.0170 |
| predicted_HR | 0.1230 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7380 |
| predicted_WHIP | 1.5256 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3270 | 0.1633 | model_form_blend |
| predicted_ER | 0.0000 | 0.5500 | 0.2746 | model_form_blend |
| predicted_ERA | - | 5.6228 | 5.6228 | form_only |
| predicted_H | 0.0000 | 1.0170 | 0.5078 | model_form_blend |
| predicted_HR | 0.0000 | 0.1230 | 0.0614 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7380 | 0.8692 | model_form_blend |
| predicted_WHIP | - | 1.5256 | 1.5256 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 48 |
| Season rows before report date | 48 |
| 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 | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.80 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260804_SD@ARI |
| game_type | full |
| mlbID | 642528 |
| playerID | 642528 |
| playerName | Jonathan Loáisiga |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-08-04 |
| game_pk | 825054.0 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.269 |
| sl_xwoba | 0.275 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 33.1 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 52.8 |
| sv_pitch_count | 12.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 96.21666666666664 |
| sv_release_spin_rate | 2221.583333333333 |
| sv_effective_speed | 96.49166666666667 |
| sv_launch_speed | 81.12 |
| sv_launch_angle | 1.6 |
| sv_woba_value | 2.5 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.8190000000000001 |
| sv_delta_home_win_exp | -0.007 |
| sl_avg_best_speed | 74.718631333 |
| sl_avg_hyper_speed | 93.216021733 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIN 4 - 5 SD | SD | 0.542 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | MIN 4 - 5 SD | SD | - | organic_simulation_realized_target | 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.5179; empirical=0.5205; weight=0.5000; final=0.5192 |
| P1 | H2H margin as base feature | unavailable / legacy artifact | home net=0; abs=-; home delta=0; away delta=0 |
| 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.4023; recent edge=0.5160; 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.8000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5422 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_simulation_realized_target |
| 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.311 | 4.221 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5422 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 4 | embedded_savant_run_environment | 4 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 4 | 5 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 5 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4320724035608309,
"base_low_score_probability": 0.43224530168150344,
"low_score_signal_threshold": 0.5122453016815034,
"low_score_signal_strength": -0.00017289812067255994,
"confidence": 0.6002,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 0.9996
},
"prediction": "normal_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 9.8,
"low_score_model_expected_total_runs": 9.8,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_never_clamp_v2",
"sample_size": 317,
"near_bucket_sample_size": 317,
"medium_bucket_sample_size": 372,
"wide_bucket_sample_size": 443,
"global_sample_size": 606,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5205,
"bayesian_hit_rate": 0.5194,
"prior_strength": 18.0,
"raw_pick_probability": 0.5149,
"raw_pick_probability_unclamped": 0.5149,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.5149,
"margin_implied_pick_probability": 0.5149,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.5149,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.514913,
"uncapped_away_win_probability": 0.485087,
"calibrated_pick_probability": 0.5144,
"predicted_side": "home",
"reliability": 0.946269,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.965075
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.517853,
"sample_size": 317,
"empirical_hit_rate": 0.5205,
"empirical_weight": 0.5,
"blended_confidence": 0.519176,
"published_confidence": 0.542242,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": false,
"sample_size": 0,
"home_net_margin": 0.0,
"home_average_margin": 0.0,
"home_run_delta": 0.0,
"away_run_delta": 0.0,
"evidence": []
}{
"applied": false,
"home": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.53125,
"runs_scored": 543,
"runs_allowed": 540,
"run_differential": 3,
"run_differential_per_game": 0.0234375,
"available": true
},
"away": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4921875,
"runs_scored": 592,
"runs_allowed": 633,
"run_differential": -41,
"run_differential_per_game": -0.3203125,
"available": true
},
"run_differential_edge_per_game": 0.3438,
"win_pct_edge": 0.0391,
"quality_edge": 0.4421,
"season_quality_edge": 0.4023,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 0.4023,
"recent_quality_edge": 0.516,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": 0.4421
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.032222144906468186
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.03148747866830339
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.03041864624294451
},
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.029725099848989724
},
{
"home_runs": 3,
"away_runs": 2,
"probability": 0.028237060512472753
}
],
"home_distribution": {
"0": 0.06410616776577846,
"1": 0.10741783666120214,
"2": 0.15037948929125441,
"3": 0.1758880878222575,
"4": 0.1718778321365028,
"5": 0.14032625185504993,
"6": 0.09571799682104724,
"7": 0.05454863595040854,
"8": 0.025972263894304806,
"9": 0.010331689286635934,
"10": 0.0034337485155583334
},
"away_distribution": {
"0": 0.06980146781991423,
"1": 0.11638541759205473,
"2": 0.16053992548379695,
"3": 0.18319685719154585,
"4": 0.1729431857470863,
"5": 0.13506392446108384,
"6": 0.08726211770225213,
"7": 0.04664043648671198,
"8": 0.020622909591723807,
"9": 0.007543757923830222
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "SD",
"opponent_team": "MIN",
"prediction_memory": {
"available": false,
"reason": "no_verified_prior_matchup_predictions",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 0,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": []
},
"guardrail_predicted_team": "SD",
"guardrail_opponent_team": "MIN",
"output_pre_simulation_winner": "SD",
"output_opponent_team": "MIN",
"simulation_score_winner": "SD",
"final_score_winner": "SD",
"pre_simulation_winner": "SD",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "MIN 4 - 5 SD",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "MIN 4 - 5 SD",
"winner": "SD"
},
"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.157,
"recent_form_edge_home_minus_away": 0.516,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 5,
"winner": "SD",
"model_winner": "SD",
"simulation_winner": "SD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 15,
"published_winner": "SD",
"published_winner_draw_share": 0.6,
"draw_majority_team": "SD",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 5
},
"simulation_score": {
"away_runs": 4,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.4421,
"winner": "SD",
"score_reviewed": {
"away_runs": 4,
"home_runs": 5,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published 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": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.53125,
"runs_scored": 543,
"runs_allowed": 540,
"run_differential": 3,
"run_differential_per_game": 0.0234375,
"available": true
},
"away": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4921875,
"runs_scored": 592,
"runs_allowed": 633,
"run_differential": -41,
"run_differential_per_game": -0.3203125,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.1754,
"final_margin": 0.1754,
"margin_cap": 1.5,
"season_quality_edge": 0.4421,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.519176,
"final_confidence": 0.5144,
"calibrated_pick_probability": 0.5144,
"shrinkage_weight": 0.965075,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 0.1754,
"calibration_sample_size": 317,
"calibration_empirical_hit_rate": 0.5205,
"calibration_bayesian_hit_rate": 0.5194,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.4421,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 3,
"home_runs": 4
},
"margin": 1,
"probability_before": 0.514392,
"margin_implied_home_probability": 0.585,
"shrinkage_weight": 0.965075,
"side_flipped": false,
"applied": true,
"probability_after": 0.549696,
"aligned_pick_probability": 0.549696
}
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "MIN 4 - 5 SD",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "MIN 4 - 5 SD",
"winner": "SD"
},
"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.157,
"recent_form_edge_home_minus_away": 0.516,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 5,
"winner": "SD",
"model_winner": "SD",
"simulation_winner": "SD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 15,
"published_winner": "SD",
"published_winner_draw_share": 0.6,
"draw_majority_team": "SD",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 5
},
"simulation_score": {
"away_runs": 4,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.4421,
"winner": "SD",
"score_reviewed": {
"away_runs": 4,
"home_runs": 5,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 5,
"confidence": 0.5422416,
"home_win_probability": 0.5422416,
"away_win_probability": 0.4577584,
"predicted_score_text": "MIN 4 - 5 SD",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "MIN",
"original_runs": 3,
"run_delta": 0.5603,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.2037296625335088,
"contact": 0.21227006374392043,
"power": 0.3719962997701907,
"discipline": -0.014714444514736882,
"xwoba": 0.32565714285714287,
"recent_xwoba": 0.32565714285714287,
"barrel": 9.285714285714286,
"ab_hard_contact": 0.18033960084598138,
"ab_bat_speed": 71.28078801817652,
"ab_strikeout_rate": 0.21533451585158409,
"available_players": 9,
"top_players": [
{
"player_id": "621439",
"player_name": "Byron Buxton",
"position": "CF",
"weight": 5.0,
"quality": 0.6670222129735307,
"contact": 0.45167523566207085,
"power": 1.4331121184252822,
"discipline": -0.47747480289191396,
"xwoba": 0.345,
"recent_xwoba": 0.345,
"barrel": 16.7,
"ab_hard_contact": 0.3820518923151611,
"ab_bat_speed": 73.1995114379085,
"ab_strikeout_rate": 0.23255813953488372,
"available": 1.0
},
{
"player_id": "680777",
"player_name": "Ryan Jeffers",
"position": "C",
"weight": 4.0,
"quality": 0.6389142581995464,
"contact": 0.6774720432932819,
"power": 0.6325755432715279,
"discipline": 1.1637663967522591,
"xwoba": 0.36,
"recent_xwoba": 0.36,
"barrel": 11.2,
"ab_hard_contact": 0.24008229400197603,
"ab_bat_speed": 72.22947407407406,
"ab_strikeout_rate": 0.17431693989071037,
"available": 1.0
},
{
"player_id": "686797",
"player_name": "Brooks Lee",
"position": "3B",
"weight": 4.0,
"quality": -0.5972323352834841,
"contact": -0.617903915660263,
"power": -0.7248402713487059,
"discipline": 0.09192312679631917,
"xwoba": 0.271,
"recent_xwoba": 0.271,
"barrel": 3.5,
"ab_hard_contact": -0.39585304602174415,
"ab_bat_speed": 68.65912321937323,
"ab_strikeout_rate": 0.16723163841807911,
"available": 1.0
},
{
"player_id": "665019",
"player_name": "Kody Clemens",
"position": "2B",
"weight": 4.0,
"quality": 0.5026748735988882,
"contact": 0.4463544203858312,
"power": 0.9162327348283127,
"discipline": -0.35013624007660704,
"xwoba": 0.327,
"recent_xwoba": 0.327,
"barrel": 11.9,
"ab_hard_contact": 0.25417850609005743,
"ab_bat_speed": 70.2066335222978,
"ab_strikeout_rate": 0.23564814814814813,
"available": 1.0
},
{
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "RF",
"weight": 3.0,
"quality": -0.413838985294508,
"contact": -0.3067978182339459,
"power": -0.8420675686779007,
"discipline": 0.6504002496150549,
"xwoba": 0.311,
"recent_xwoba": 0.311,
"barrel": 3.0,
"ab_hard_contact": -0.4348751830818348,
"ab_bat_speed": 67.47895942028985,
"ab_strikeout_rate": 0.1695402298850575,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "681190",
"player_name": "Randy Vásquez",
"quality": -0.8623861540214917,
"contact": -1.2631766705502163,
"command": -0.5721017501017501,
"movement": 0.014857372717100865,
"xwoba": 0.365,
"whiff": 19.3,
"faced_est_woba": 0.2118346642246642,
"faced_launch_speed": 87.55167684167684,
"faced_strikeout_rate": 0.1891330891330891,
"faced_run_exp": 0.007786885187123272
}
},
"home": {
"team": "SD",
"original_runs": 4,
"run_delta": 0.2055,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.21913014522963037,
"contact": 0.2171455842011293,
"power": 0.2232144951977818,
"discipline": -0.06084528411389038,
"xwoba": 0.3182857142857143,
"recent_xwoba": 0.3182857142857143,
"barrel": 7.965714285714284,
"ab_hard_contact": 0.3189402440916874,
"ab_bat_speed": 70.9880067607336,
"ab_strikeout_rate": 0.21411025340992126,
"available_players": 9,
"top_players": [
{
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"weight": 5.0,
"quality": 1.117174344851564,
"contact": 1.3492317804127194,
"power": 1.2181217023916622,
"discipline": 0.17319535850089302,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 12.2,
"ab_hard_contact": 0.8942435716427679,
"ab_bat_speed": 73.79581365740742,
"ab_strikeout_rate": 0.1883879781420765,
"available": 1.0
},
{
"player_id": "666023",
"player_name": "Freddy Fermin",
"position": "C",
"weight": 3.0,
"quality": -0.7366976661068395,
"contact": -0.9975916194701837,
"power": -0.9119832781348812,
"discipline": -0.09063329099169082,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 3.9,
"ab_hard_contact": -0.8537608007928746,
"ab_bat_speed": 66.56768055555555,
"ab_strikeout_rate": 0.2155737704918033,
"available": 1.0
},
{
"player_id": "630105",
"player_name": "Jake Cronenworth",
"position": "2B",
"weight": 4.0,
"quality": -0.5907145535918715,
"contact": -0.6637188067341462,
"power": -0.8459152457907878,
"discipline": 0.13860714616677916,
"xwoba": 0.284,
"recent_xwoba": 0.284,
"barrel": 3.6,
"ab_hard_contact": -0.4284001539109975,
"ab_bat_speed": 68.88656305114638,
"ab_strikeout_rate": 0.2333333333333333,
"available": 1.0
},
{
"player_id": "701538",
"player_name": "Jackson Merrill",
"position": "CF",
"weight": 5.0,
"quality": 0.5577019431610334,
"contact": 0.4803036400926574,
"power": 0.9083553619126281,
"discipline": -0.47330581245929415,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 11.2,
"ab_hard_contact": 1.0151072382525579,
"ab_bat_speed": 71.76707619047619,
"ab_strikeout_rate": 0.24617486338797812,
"available": 1.0
},
{
"player_id": "592518",
"player_name": "Manny Machado",
"position": "3B",
"weight": 5.0,
"quality": 0.4593520809805592,
"contact": 0.3597282013253072,
"power": 0.6099230121821473,
"discipline": 0.2507045135690247,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 9.9,
"ab_hard_contact": 0.5946507198334221,
"ab_bat_speed": 73.22939210284666,
"ab_strikeout_rate": 0.21802168021680216,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "687570",
"player_name": "Connor Prielipp",
"quality": -0.12119651629272636,
"contact": -0.21525661496467646,
"command": -0.10667195767195765,
"movement": 0.04228033741346959,
"xwoba": 0.318,
"whiff": 23.8,
"faced_est_woba": 0.26554733936838626,
"faced_launch_speed": 83.81188821570295,
"faced_strikeout_rate": 0.23519890260631002,
"faced_run_exp": 0.006579622285186518
}
}
},
"fundamental_edge_target_review": {
"applied": true,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 4,
"winner_side": "tie"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 5,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.4421,
"recent_form_edge_home_minus_away": 0.516,
"pitcher_matchup_edge_home_minus_away": 0.157,
"composite_home_edge": 0.7176,
"existing_home_win_probability": 0.5497,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.0
},
"reasons": [
"resolved tied target with refreshed season/recent/pitcher support"
]
},
"uncapped_home_win_probability": 0.549696,
"uncapped_away_win_probability": 0.450304,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.549696,
"discount_factor": 0.85,
"published_confidence": 0.542242,
"guardrail_confidence_cap": null,
"guardrail_cap_enforced": false,
"applied_discounts": [
{
"reason": "projected_margin_is_one_run",
"factor": 0.85
}
]
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85.",
"pre_simulation_target": {
"away_runs": 4,
"home_runs": 5,
"predicted_score_text": "MIN 4 - 5 SD",
"confidence": 0.5422416,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "MIN 4 - 5 SD",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "MIN 4 - 5 SD",
"winner": "SD"
},
"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.157,
"recent_form_edge_home_minus_away": 0.516,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 4,
"home_runs": 5,
"winner": "SD",
"model_winner": "SD",
"simulation_winner": "SD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 15,
"published_winner": "SD",
"published_winner_draw_share": 0.6,
"draw_majority_team": "SD",
"published_winner_is_draw_majority": true,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"model_score": {
"away_runs": 4,
"home_runs": 5
},
"simulation_score": {
"away_runs": 4,
"home_runs": 5
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.4421,
"winner": "SD",
"score_reviewed": {
"away_runs": 4,
"home_runs": 5,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "SD",
"display_confidence": 0.5422,
"internal_signal_score": 0.6165,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5422,
"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": "low_total_lean",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.4421,
"winner_recent_form_edge": 0.516,
"winner_pitcher_matchup_edge": 0.157,
"winner_simulation_draw_rate": 0.6,
"blowout_draw_rate_margin_4_plus": 0.0667,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.6,
"total_runs_spread": {
"min": 3,
"median": 5,
"max": 9,
"range": 6
}
},
"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 MIN | True | 1.0273 | 1.0273 | 1 | 9 | 0 |
| Home SD | True | 1.0228 | 1.0228 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Luke Keaschall | 176 | 0.9829 | -0.2281 | neutral | 0.3110 | 0.2410 | 0.3500 | 3 | 29.10 | 84.90 | 17.60 | 17.30 | 15.30 | 10 | -0.6000 |
| 2B | Kody Clemens | 111 | 1.0524 | 0.6986 | neutral | 0.3270 | 0.2480 | 0.4460 | 11.90 | 45.90 | 92.30 | 16.50 | 25.30 | 22.50 | 6.20 | 0.0286 |
| DH | Josh Bell | 197 | 1.0453 | 0.6043 | neutral | 0.3300 | 0.2520 | 0.4450 | 9.90 | 42 | 90 | 14.10 | 23.90 | 20.60 | 8.20 | 0 |
| CF | Byron Buxton | 45 | 1.0731 | 0.9752 | neutral | 0.3450 | 0.2470 | 0.4960 | 16.70 | 47.10 | 90.40 | 20.60 | 31.40 | 24.30 | 7.20 | -0.4286 |
| 1B | Royce Lewis | 135 | 1.0421 | 0.5617 | neutral | 0.3230 | 0.2470 | 0.4200 | 11.80 | 42.70 | 90 | 20 | 33.70 | 25.70 | 8.90 | 0.1143 |
| C | Ryan Jeffers | 55 | 1.0636 | 0.8476 | neutral | 0.3600 | 0.2550 | 0.4440 | 11.20 | 41 | 89.30 | 16.60 | 16.60 | 16.50 | 14.20 | -0.6571 |
| LF | Trevor Larnach | 183 | 1.0294 | 0.3919 | neutral | 0.3320 | 0.2610 | 0.4030 | 7.50 | 37 | 87.50 | 14.10 | 26.30 | 18 | 10.90 | -0.3143 |
| 3B | Brooks Lee | 137 | 0.9467 | -0.7100 | negative_batter_regression | 0.2710 | 0.2240 | 0.3280 | 3.50 | 32.20 | 87.80 | 14.60 | 20.80 | 16.40 | 6.70 | -1.2286 |
| SS | Kaelen Culpepper | 377 | 1.0106 | 0.1414 | neutral | 0.3250 | 0.2710 | 0.3950 | 4.20 | 44 | 90.40 | 17.80 | 29.50 | 27.50 | 5 | -0.8286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Luis Rengifo | 229 | 0.9998 | -0.0020 | neutral | 0.3080 | 0.2550 | 0.3490 | 4.40 | 33.70 | 87.60 | 5.60 | 20.60 | 13.40 | 10 | 0.4000 |
| CF | Jackson Merrill | 80 | 1.0636 | 0.8477 | neutral | 0.3290 | 0.2560 | 0.4600 | 11.20 | 47.10 | 90.60 | 14.80 | 27.30 | 24.70 | 6.30 | 0.7429 |
| 3B | Manny Machado | 261 | 1.0504 | 0.6714 | neutral | 0.3290 | 0.2430 | 0.4270 | 9.90 | 44.90 | 90.80 | 13.10 | 25.80 | 22 | 10.90 | 0.5714 |
| 1B | Ty France | 43 | 1.0362 | 0.4829 | negative_batter_regression | 0.3260 | 0.2500 | 0.4290 | 10 | 49.20 | 92.20 | 13.20 | 27 | 22.50 | 5.50 | -1.2286 |
| RF | Fernando Tatis Jr. | 60 | 1.1069 | 1.4249 | neutral | 0.3710 | 0.2900 | 0.4750 | 12.20 | 52.70 | 92.60 | 5.50 | 27.10 | 18.60 | 9.70 | 0.8000 |
| LF | Austin Hays | 585 | 0.9999 | -0.0019 | neutral | 0.2850 | 0.2810 | 0.3770 | 4.70 | 41.90 | 86.10 | 0 | 34.70 | 26.70 | 1.70 | 0.8000 |
| SS | Xander Bogaerts | 157 | 1.0283 | 0.3777 | neutral | 0.3240 | 0.2470 | 0.3770 | 6.30 | 40.80 | 88.80 | 6.30 | 22.70 | 17.70 | 12.30 | 0.8286 |
| C | Freddy Fermin | 192 | 0.9544 | -0.6076 | neutral | 0.2680 | 0.2080 | 0.3100 | 3.90 | 27.50 | 87.20 | 15.20 | 25.80 | 20.30 | 7.80 | 0.2286 |
| 2B | Jake Cronenworth | 497 | 0.9659 | -0.4548 | neutral | 0.2840 | 0.2240 | 0.3150 | 3.60 | 30.60 | 87.10 | 9.30 | 22.50 | 21.90 | 9.20 | 0.1143 |
{
"home": {
"applied": true,
"offense_factor": 1.0228,
"raw_average_factor": 1.0228,
"team_espn_average_rank": 233.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "650859",
"player_name": "Luis Rengifo",
"offense_factor": 0.9998,
"quality_score": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650859",
"espn_id": 37237,
"player_name": "Luis Rengifo",
"team": "SD",
"role": "batter",
"espn_rank": 229,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 229,
"gp_value": 87.0,
"gp_rank": 222,
"ab_value": 288.0,
"ab_rank": 201,
"r_value": 36.0,
"r_rank": 203,
"h_value": 70.0,
"h_rank": 195,
"avg_value": 0.2430555,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 231,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 4.0,
"hr_rank": 310,
"rbi_value": 32.0,
"rbi_rank": 220,
"tb_value": 93.0,
"tb_rank": 1898,
"bb_value": 33.0,
"bb_rank": 156,
"so_value": 44.0,
"so_rank": 307,
"sb_value": 6.0,
"sb_rank": 140,
"obp_value": 0.3251533,
"obp_rank": "-",
"slg_value": 0.3229166,
"slg_rank": "-",
"ops_value": 0.6480699,
"ops_rank": null,
"war_value": 0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 320.0,
"k_percent": 13.4,
"bb_percent": 10.0,
"woba": 0.294,
"xwoba": 0.308,
"xba": 0.255,
"xslg": 0.349,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 33.7,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 5.6,
"whiff_percent": 20.6,
"swing_percent": 49.2
},
"components": {
"expected_quality": -0.0675,
"regression_edge": 0.4,
"xwoba_edge": 0.1714,
"xba_edge": 0.5143,
"xslg_edge": -0.2714,
"barrel_edge": -0.5333,
"hard_hit_edge": -0.5643,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": -0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "701538",
"player_name": "Jackson Merrill",
"offense_factor": 1.0636,
"quality_score": 0.8477,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701538",
"espn_id": 4872691,
"player_name": "Jackson Merrill",
"team": "SD",
"role": "batter",
"espn_rank": 80,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 80,
"gp_value": 125.0,
"gp_rank": 23,
"ab_value": 483.0,
"ab_rank": 19,
"r_value": 65.0,
"r_rank": 52,
"h_value": 116.0,
"h_rank": 52,
"avg_value": 0.2401656,
"avg_rank": 106.0,
"2b_value": 20.0,
"2b_rank": 82,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 19.0,
"hr_rank": 55,
"rbi_value": 63.0,
"rbi_rank": 54,
"tb_value": 197.0,
"tb_rank": 423,
"bb_value": 33.0,
"bb_rank": 156,
"so_value": 129.0,
"so_rank": 28,
"sb_value": 24.0,
"sb_rank": 11,
"obp_value": 0.2903846,
"obp_rank": "141",
"slg_value": 0.4078674,
"slg_rank": "93",
"ops_value": 0.698252,
"ops_rank": 48.0,
"war_value": 2.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 512.0,
"k_percent": 24.7,
"bb_percent": 6.3,
"woba": 0.303,
"xwoba": 0.329,
"xba": 0.256,
"xslg": 0.46,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 14.8,
"whiff_percent": 27.3,
"swing_percent": 55.5
},
"components": {
"expected_quality": 0.8647,
"regression_edge": 0.7429,
"xwoba_edge": 0.7714,
"xba_edge": 0.5429,
"xslg_edge": 1.3143,
"barrel_edge": 0.9778,
"hard_hit_edge": 1.35,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "592518",
"player_name": "Manny Machado",
"offense_factor": 1.0504,
"quality_score": 0.6714,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592518",
"espn_id": 31097,
"player_name": "Manny Machado",
"team": "SD",
"role": "batter",
"espn_rank": 261,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 261,
"gp_value": 125.0,
"gp_rank": 23,
"ab_value": 465.0,
"ab_rank": 41,
"r_value": 63.0,
"r_rank": 61,
"h_value": 100.0,
"h_rank": 102,
"avg_value": 0.2150537,
"avg_rank": 143.0,
"2b_value": 20.0,
"2b_rank": 82,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 24.0,
"hr_rank": 26,
"rbi_value": 71.0,
"rbi_rank": 30,
"tb_value": 192.0,
"tb_rank": 648,
"bb_value": 58.0,
"bb_rank": 34,
"so_value": 117.0,
"so_rank": 48,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.299435,
"obp_rank": "132",
"slg_value": 0.4129032,
"slg_rank": "90",
"ops_value": 0.7123382,
"ops_rank": 222.0,
"war_value": 0.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 517.0,
"k_percent": 22.0,
"bb_percent": 10.9,
"woba": 0.309,
"xwoba": 0.329,
"xba": 0.243,
"xslg": 0.427,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 13.1,
"whiff_percent": 25.8,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.6877,
"regression_edge": 0.5714,
"xwoba_edge": 0.7714,
"xba_edge": 0.1714,
"xslg_edge": 0.8429,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.0357,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "664034",
"player_name": "Ty France",
"offense_factor": 1.0362,
"quality_score": 0.4829,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664034",
"espn_id": 35591,
"player_name": "Ty France",
"team": "SD",
"role": "batter",
"espn_rank": 43,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 43,
"gp_value": 102.0,
"gp_rank": 157,
"ab_value": 327.0,
"ab_rank": 168,
"r_value": 43.0,
"r_rank": 162,
"h_value": 95.0,
"h_rank": 119,
"avg_value": 0.2905198,
"avg_rank": null,
"2b_value": 17.0,
"2b_rank": 130,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 17.0,
"hr_rank": 66,
"rbi_value": 52.0,
"rbi_rank": 98,
"tb_value": 167.0,
"tb_rank": 333,
"bb_value": 20.0,
"bb_rank": 254,
"so_value": 82.0,
"so_rank": 140,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.348901,
"obp_rank": "-",
"slg_value": 0.5107033,
"slg_rank": "-",
"ops_value": 0.8596043,
"ops_rank": null,
"war_value": 3.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 358.0,
"k_percent": 22.5,
"bb_percent": 5.5,
"woba": 0.369,
"xwoba": 0.326,
"xba": 0.25,
"xslg": 0.429,
"sweet_spot_percent": 37.2,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 49.2,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 13.2,
"whiff_percent": 27.0,
"swing_percent": 53.1
},
"components": {
"expected_quality": 0.7615,
"regression_edge": -1.2286,
"xwoba_edge": 0.6857,
"xba_edge": 0.3714,
"xslg_edge": 0.8714,
"barrel_edge": 0.7111,
"hard_hit_edge": 1.65,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": 0.65,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"offense_factor": 1.1069,
"quality_score": 1.4249,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665487",
"espn_id": 35983,
"player_name": "Fernando Tatis Jr.",
"team": "SD",
"role": "batter",
"espn_rank": 60,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 60,
"gp_value": 126.0,
"gp_rank": 19,
"ab_value": 489.0,
"ab_rank": 11,
"r_value": 71.0,
"r_rank": 35,
"h_value": 137.0,
"h_rank": 10,
"avg_value": 0.2801635,
"avg_rank": 26.0,
"2b_value": 26.0,
"2b_rank": 18,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 15.0,
"hr_rank": 96,
"rbi_value": 61.0,
"rbi_rank": 64,
"tb_value": 212.0,
"tb_rank": 440,
"bb_value": 54.0,
"bb_rank": 42,
"so_value": 103.0,
"so_rank": 76,
"sb_value": 28.0,
"sb_rank": 9,
"obp_value": 0.3537906,
"obp_rank": "41",
"slg_value": 0.4335378,
"slg_rank": "63",
"ops_value": 0.7873284,
"ops_rank": 104.0,
"war_value": 2.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 537.0,
"k_percent": 18.6,
"bb_percent": 9.7,
"woba": 0.343,
"xwoba": 0.371,
"xba": 0.29,
"xslg": 0.475,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 52.7,
"exit_velocity_avg": 92.6,
"launch_angle_avg": 5.5,
"whiff_percent": 27.1,
"swing_percent": 45.9
},
"components": {
"expected_quality": 1.5266,
"regression_edge": 0.8,
"xwoba_edge": 1.9714,
"xba_edge": 1.5143,
"xslg_edge": 1.5286,
"barrel_edge": 1.2,
"hard_hit_edge": 2.15,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "669720",
"player_name": "Austin Hays",
"offense_factor": 0.9999,
"quality_score": -0.0019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669720",
"espn_id": 36928,
"player_name": "Austin Hays",
"team": "SD",
"role": "batter",
"espn_rank": 585,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 585,
"gp_value": 18.0,
"gp_rank": 498,
"ab_value": 59.0,
"ab_rank": 468,
"r_value": 6.0,
"r_rank": 470,
"h_value": 14.0,
"h_rank": 453,
"avg_value": 0.2372881,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 493,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 2.0,
"hr_rank": 392,
"rbi_value": 10.0,
"rbi_rank": 412,
"tb_value": 21.0,
"tb_rank": 2664,
"bb_value": 1.0,
"bb_rank": 541,
"so_value": 16.0,
"so_rank": 476,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.3559322,
"slg_rank": "-",
"ops_value": 0.6059322,
"ops_rank": null,
"war_value": -0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 58.0,
"k_percent": 26.7,
"bb_percent": 1.7,
"woba": 0.257,
"xwoba": 0.285,
"xba": 0.281,
"xslg": 0.377,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 41.9,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 0.0,
"whiff_percent": 34.7,
"swing_percent": 54.0
},
"components": {
"expected_quality": -0.1352,
"regression_edge": 0.8,
"xwoba_edge": -0.4857,
"xba_edge": 1.2571,
"xslg_edge": 0.1286,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.6071,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"offense_factor": 1.0283,
"quality_score": 0.3777,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "593428",
"espn_id": 31606,
"player_name": "Xander Bogaerts",
"team": "SD",
"role": "batter",
"espn_rank": 157,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 157,
"gp_value": 121.0,
"gp_rank": 64,
"ab_value": 413.0,
"ab_rank": 92,
"r_value": 49.0,
"r_rank": 128,
"h_value": 91.0,
"h_rank": 128,
"avg_value": 0.2203389,
"avg_rank": 136.0,
"2b_value": 12.0,
"2b_rank": 207,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 11.0,
"hr_rank": 149,
"rbi_value": 46.0,
"rbi_rank": 131,
"tb_value": 136.0,
"tb_rank": 1324,
"bb_value": 59.0,
"bb_rank": 31,
"so_value": 85.0,
"so_rank": 131,
"sb_value": 16.0,
"sb_rank": 41,
"obp_value": 0.3201663,
"obp_rank": "92",
"slg_value": 0.3292978,
"slg_rank": "147",
"ops_value": 0.6494641,
"ops_rank": 55.0,
"war_value": 1.35,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 470.0,
"k_percent": 17.7,
"bb_percent": 12.3,
"woba": 0.295,
"xwoba": 0.324,
"xba": 0.247,
"xslg": 0.377,
"sweet_spot_percent": 28.5,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 40.8,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 6.3,
"whiff_percent": 22.7,
"swing_percent": 41.4
},
"components": {
"expected_quality": 0.3043,
"regression_edge": 0.8286,
"xwoba_edge": 0.6286,
"xba_edge": 0.2857,
"xslg_edge": 0.1286,
"barrel_edge": -0.1111,
"hard_hit_edge": 0.45,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.8,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "666023",
"player_name": "Freddy Fermin",
"offense_factor": 0.9544,
"quality_score": -0.6076,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666023",
"espn_id": 41928,
"player_name": "Freddy Fermin",
"team": "SD",
"role": "batter",
"espn_rank": 192,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 192,
"gp_value": 78.0,
"gp_rank": 260,
"ab_value": 191.0,
"ab_rank": 301,
"r_value": 18.0,
"r_rank": 352,
"h_value": 37.0,
"h_rank": 329,
"avg_value": 0.1937172,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 247,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 4.0,
"hr_rank": 310,
"rbi_value": 16.0,
"rbi_rank": 349,
"tb_value": 59.0,
"tb_rank": 2048,
"bb_value": 17.0,
"bb_rank": 293,
"so_value": 44.0,
"so_rank": 307,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.2676056,
"obp_rank": "-",
"slg_value": 0.3089005,
"slg_rank": "-",
"ops_value": 0.5765061,
"ops_rank": null,
"war_value": 1.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 20.3,
"bb_percent": 7.8,
"woba": 0.26,
"xwoba": 0.268,
"xba": 0.208,
"xslg": 0.31,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 27.5,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 15.2,
"whiff_percent": 25.8,
"swing_percent": 52.0
},
"components": {
"expected_quality": -0.7954,
"regression_edge": 0.2286,
"xwoba_edge": -0.9714,
"xba_edge": -0.8286,
"xslg_edge": -0.8286,
"barrel_edge": -0.6444,
"hard_hit_edge": -1.45,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "630105",
"player_name": "Jake Cronenworth",
"offense_factor": 0.9659,
"quality_score": -0.4548,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "630105",
"espn_id": 36364,
"player_name": "Jake Cronenworth",
"team": "SD",
"role": "batter",
"espn_rank": 497,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 497,
"gp_value": 76.0,
"gp_rank": 265,
"ab_value": 258.0,
"ab_rank": 230,
"r_value": 32.0,
"r_rank": 233,
"h_value": 58.0,
"h_rank": 243,
"avg_value": 0.2248062,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 307,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 4.0,
"hr_rank": 310,
"rbi_value": 20.0,
"rbi_rank": 318,
"tb_value": 77.0,
"tb_rank": 2022,
"bb_value": 27.0,
"bb_rank": 195,
"so_value": 64.0,
"so_rank": 215,
"sb_value": 7.0,
"sb_rank": 113,
"obp_value": 0.3103448,
"obp_rank": "-",
"slg_value": 0.2984496,
"slg_rank": "-",
"ops_value": 0.6087944,
"ops_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 286.0,
"k_percent": 21.9,
"bb_percent": 9.2,
"woba": 0.28,
"xwoba": 0.284,
"xba": 0.224,
"xslg": 0.315,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 30.6,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 9.3,
"whiff_percent": 22.5,
"swing_percent": 46.1
},
"components": {
"expected_quality": -0.5475,
"regression_edge": 0.1143,
"xwoba_edge": -0.5143,
"xba_edge": -0.3714,
"xslg_edge": -0.7571,
"barrel_edge": -0.7111,
"hard_hit_edge": -1.0071,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0273,
"raw_average_factor": 1.0273,
"team_espn_average_rank": 157.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "807712",
"player_name": "Luke Keaschall",
"offense_factor": 0.9829,
"quality_score": -0.2281,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807712",
"espn_id": 4977664,
"player_name": "Luke Keaschall",
"team": "MIN",
"role": "batter",
"espn_rank": 176,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 176,
"gp_value": 119.0,
"gp_rank": 78,
"ab_value": 401.0,
"ab_rank": 106,
"r_value": 59.0,
"r_rank": 81,
"h_value": 109.0,
"h_rank": 80,
"avg_value": 0.2718204,
"avg_rank": 38.0,
"2b_value": 19.0,
"2b_rank": 103,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 7.0,
"hr_rank": 219,
"rbi_value": 36.0,
"rbi_rank": 193,
"tb_value": 151.0,
"tb_rank": 1086,
"bb_value": 47.0,
"bb_rank": 67,
"so_value": 72.0,
"so_rank": 172,
"sb_value": 14.0,
"sb_rank": 51,
"obp_value": 0.3638297,
"obp_rank": "24",
"slg_value": 0.3765586,
"slg_rank": "123",
"ops_value": 0.7403883,
"ops_rank": 99.0,
"war_value": 1.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 458.0,
"k_percent": 15.3,
"bb_percent": 10.0,
"woba": 0.332,
"xwoba": 0.311,
"xba": 0.241,
"xslg": 0.35,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 29.1,
"exit_velocity_avg": 84.9,
"launch_angle_avg": 17.6,
"whiff_percent": 17.3,
"swing_percent": 41.7
},
"components": {
"expected_quality": -0.1676,
"regression_edge": -0.6,
"xwoba_edge": 0.2571,
"xba_edge": 0.1143,
"xslg_edge": -0.2571,
"barrel_edge": -0.8444,
"hard_hit_edge": -1.2214,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "665019",
"player_name": "Kody Clemens",
"offense_factor": 1.0524,
"quality_score": 0.6986,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665019",
"espn_id": 41311,
"player_name": "Kody Clemens",
"team": "MIN",
"role": "batter",
"espn_rank": 111,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 111,
"gp_value": 111.0,
"gp_rank": 125,
"ab_value": 411.0,
"ab_rank": 97,
"r_value": 58.0,
"r_rank": 87,
"h_value": 97.0,
"h_rank": 109,
"avg_value": 0.2360097,
"avg_rank": 115.0,
"2b_value": 21.0,
"2b_rank": 72,
"3b_value": 5.0,
"3b_rank": 11,
"hr_value": 21.0,
"hr_rank": 34,
"rbi_value": 61.0,
"rbi_rank": 64,
"tb_value": 191.0,
"tb_rank": 305,
"bb_value": 28.0,
"bb_rank": 188,
"so_value": 101.0,
"so_rank": 81,
"sb_value": 8.0,
"sb_rank": 102,
"obp_value": 0.2930648,
"obp_rank": "140",
"slg_value": 0.4647201,
"slg_rank": "42",
"ops_value": 0.7577849,
"ops_rank": 182.0,
"war_value": 1.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 436.0,
"k_percent": 22.5,
"bb_percent": 6.2,
"woba": 0.326,
"xwoba": 0.327,
"xba": 0.248,
"xslg": 0.446,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 16.5,
"whiff_percent": 25.3,
"swing_percent": 50.1
},
"components": {
"expected_quality": 0.8077,
"regression_edge": 0.0286,
"xwoba_edge": 0.7143,
"xba_edge": 0.3143,
"xslg_edge": 1.1143,
"barrel_edge": 1.1333,
"hard_hit_edge": 1.1786,
"exit_velocity_edge": 1.48,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "605137",
"player_name": "Josh Bell",
"offense_factor": 1.0453,
"quality_score": 0.6043,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605137",
"espn_id": 32517,
"player_name": "Josh Bell",
"team": "MIN",
"role": "batter",
"espn_rank": 197,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 197,
"gp_value": 123.0,
"gp_rank": 42,
"ab_value": 453.0,
"ab_rank": 58,
"r_value": 64.0,
"r_rank": 56,
"h_value": 117.0,
"h_rank": 47,
"avg_value": 0.2582781,
"avg_rank": 73.0,
"2b_value": 26.0,
"2b_rank": 18,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 17.0,
"hr_rank": 66,
"rbi_value": 77.0,
"rbi_rank": 15,
"tb_value": 196.0,
"tb_rank": 509,
"bb_value": 41.0,
"bb_rank": 99,
"so_value": 103.0,
"so_rank": 76,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3212851,
"obp_rank": "90",
"slg_value": 0.432671,
"slg_rank": "66",
"ops_value": 0.7539561,
"ops_rank": 156.0,
"war_value": 1.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 491.0,
"k_percent": 20.6,
"bb_percent": 8.2,
"woba": 0.33,
"xwoba": 0.33,
"xba": 0.252,
"xslg": 0.445,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 42.0,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 14.1,
"whiff_percent": 23.9,
"swing_percent": 50.1
},
"components": {
"expected_quality": 0.7027,
"regression_edge": 0.0,
"xwoba_edge": 0.8,
"xba_edge": 0.4286,
"xslg_edge": 1.1,
"barrel_edge": 0.6889,
"hard_hit_edge": 0.6214,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "621439",
"player_name": "Byron Buxton",
"offense_factor": 1.0731,
"quality_score": 0.9752,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621439",
"espn_id": 32655,
"player_name": "Byron Buxton",
"team": "MIN",
"role": "batter",
"espn_rank": 45,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 45,
"gp_value": 88.0,
"gp_rank": 215,
"ab_value": 351.0,
"ab_rank": 138,
"r_value": 60.0,
"r_rank": 76,
"h_value": 90.0,
"h_rank": 131,
"avg_value": 0.2564102,
"avg_rank": 76.0,
"2b_value": 17.0,
"2b_rank": 130,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 25.0,
"hr_rank": 20,
"rbi_value": 46.0,
"rbi_rank": 131,
"tb_value": 184.0,
"tb_rank": 567,
"bb_value": 28.0,
"bb_rank": 188,
"so_value": 94.0,
"so_rank": 102,
"sb_value": 7.0,
"sb_rank": 113,
"obp_value": 0.3204134,
"obp_rank": "92",
"slg_value": 0.5242165,
"slg_rank": "14",
"ops_value": 0.8446299,
"ops_rank": 78.0,
"war_value": 3.17,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 376.0,
"k_percent": 24.3,
"bb_percent": 7.2,
"woba": 0.36,
"xwoba": 0.345,
"xba": 0.247,
"xslg": 0.496,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 16.7,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 20.6,
"whiff_percent": 31.4,
"swing_percent": 52.8
},
"components": {
"expected_quality": 1.2037,
"regression_edge": -0.4286,
"xwoba_edge": 1.2286,
"xba_edge": 0.2857,
"xslg_edge": 1.8286,
"barrel_edge": 2.2,
"hard_hit_edge": 1.35,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "668904",
"player_name": "Royce Lewis",
"offense_factor": 1.0421,
"quality_score": 0.5617,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668904",
"espn_id": 40635,
"player_name": "Royce Lewis",
"team": "MIN",
"role": "batter",
"espn_rank": 135,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 135,
"gp_value": 93.0,
"gp_rank": 192,
"ab_value": 341.0,
"ab_rank": 153,
"r_value": 45.0,
"r_rank": 153,
"h_value": 82.0,
"h_rank": 152,
"avg_value": 0.2404692,
"avg_rank": null,
"2b_value": 20.0,
"2b_rank": 82,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 13.0,
"hr_rank": 118,
"rbi_value": 45.0,
"rbi_rank": 141,
"tb_value": 143.0,
"tb_rank": 834,
"bb_value": 34.0,
"bb_rank": 146,
"so_value": 98.0,
"so_rank": 87,
"sb_value": 12.0,
"sb_rank": 59,
"obp_value": 0.3123359,
"obp_rank": "-",
"slg_value": 0.4193548,
"slg_rank": "-",
"ops_value": 0.7316907,
"ops_rank": null,
"war_value": 1.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 376.0,
"k_percent": 25.7,
"bb_percent": 8.9,
"woba": 0.319,
"xwoba": 0.323,
"xba": 0.247,
"xslg": 0.42,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 42.7,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 20.0,
"whiff_percent": 33.7,
"swing_percent": 48.5
},
"components": {
"expected_quality": 0.6345,
"regression_edge": 0.1143,
"xwoba_edge": 0.6,
"xba_edge": 0.2857,
"xslg_edge": 0.7429,
"barrel_edge": 1.1111,
"hard_hit_edge": 0.7214,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "C",
"player_id": "680777",
"player_name": "Ryan Jeffers",
"offense_factor": 1.0636,
"quality_score": 0.8476,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680777",
"espn_id": 41587,
"player_name": "Ryan Jeffers",
"team": "MIN",
"role": "batter",
"espn_rank": 55,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 55,
"gp_value": 65.0,
"gp_rank": 317,
"ab_value": 219.0,
"ab_rank": 270,
"r_value": 40.0,
"r_rank": 178,
"h_value": 62.0,
"h_rank": 230,
"avg_value": 0.283105,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 178,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 10.0,
"hr_rank": 160,
"rbi_value": 42.0,
"rbi_rank": 161,
"tb_value": 108.0,
"tb_rank": 1134,
"bb_value": 37.0,
"bb_rank": 120,
"so_value": 43.0,
"so_rank": 316,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3899613,
"obp_rank": "-",
"slg_value": 0.4931506,
"slg_rank": "-",
"ops_value": 0.8831119,
"ops_rank": null,
"war_value": 2.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 252.0,
"k_percent": 16.5,
"bb_percent": 14.2,
"woba": 0.383,
"xwoba": 0.36,
"xba": 0.255,
"xslg": 0.444,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 41.0,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 16.6,
"whiff_percent": 16.6,
"swing_percent": 39.8
},
"components": {
"expected_quality": 1.0926,
"regression_edge": -0.6571,
"xwoba_edge": 1.6571,
"xba_edge": 0.5143,
"xslg_edge": 1.0857,
"barrel_edge": 0.9778,
"hard_hit_edge": 0.4786,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.25,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "663616",
"player_name": "Trevor Larnach",
"offense_factor": 1.0294,
"quality_score": 0.3919,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663616",
"espn_id": 41205,
"player_name": "Trevor Larnach",
"team": "MIN",
"role": "batter",
"espn_rank": 183,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 183,
"gp_value": 104.0,
"gp_rank": 154,
"ab_value": 332.0,
"ab_rank": 162,
"r_value": 50.0,
"r_rank": 122,
"h_value": 89.0,
"h_rank": 137,
"avg_value": 0.2680722,
"avg_rank": null,
"2b_value": 19.0,
"2b_rank": 103,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 10.0,
"hr_rank": 160,
"rbi_value": 42.0,
"rbi_rank": 161,
"tb_value": 140.0,
"tb_rank": 966,
"bb_value": 41.0,
"bb_rank": 99,
"so_value": 68.0,
"so_rank": 198,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.3537234,
"obp_rank": "-",
"slg_value": 0.4216867,
"slg_rank": "-",
"ops_value": 0.7754101,
"ops_rank": null,
"war_value": 1.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 366.0,
"k_percent": 18.0,
"bb_percent": 10.9,
"woba": 0.343,
"xwoba": 0.332,
"xba": 0.261,
"xslg": 0.403,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 37.0,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 14.1,
"whiff_percent": 26.3,
"swing_percent": 44.0
},
"components": {
"expected_quality": 0.5068,
"regression_edge": -0.3143,
"xwoba_edge": 0.8571,
"xba_edge": 0.6857,
"xslg_edge": 0.5,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.0929,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.6833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "686797",
"player_name": "Brooks Lee",
"offense_factor": 0.9467,
"quality_score": -0.71,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686797",
"espn_id": 4629081,
"player_name": "Brooks Lee",
"team": "MIN",
"role": "batter",
"espn_rank": 137,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 137,
"gp_value": 122.0,
"gp_rank": 52,
"ab_value": 451.0,
"ab_rank": 61,
"r_value": 54.0,
"r_rank": 105,
"h_value": 110.0,
"h_rank": 78,
"avg_value": 0.2439024,
"avg_rank": 95.0,
"2b_value": 19.0,
"2b_rank": 103,
"3b_value": 3.0,
"3b_rank": 27,
"hr_value": 18.0,
"hr_rank": 61,
"rbi_value": 67.0,
"rbi_rank": 41,
"tb_value": 189.0,
"tb_rank": 418,
"bb_value": 33.0,
"bb_rank": 156,
"so_value": 80.0,
"so_rank": 148,
"sb_value": 7.0,
"sb_rank": 113,
"obp_value": 0.2991803,
"obp_rank": "132",
"slg_value": 0.4190687,
"slg_rank": "86",
"ops_value": 0.718249,
"ops_rank": 46.0,
"war_value": 1.51,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 483.0,
"k_percent": 16.4,
"bb_percent": 6.7,
"woba": 0.314,
"xwoba": 0.271,
"xba": 0.224,
"xslg": 0.328,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 32.2,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 14.6,
"whiff_percent": 20.8,
"swing_percent": 52.8
},
"components": {
"expected_quality": -0.6256,
"regression_edge": -1.2286,
"xwoba_edge": -0.8857,
"xba_edge": -0.3714,
"xslg_edge": -0.5714,
"barrel_edge": -0.7333,
"hard_hit_edge": -0.7786,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "701785",
"player_name": "Kaelen Culpepper",
"offense_factor": 1.0106,
"quality_score": 0.1414,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701785",
"espn_id": 4935268,
"player_name": "Kaelen Culpepper",
"team": "MIN",
"role": "batter",
"espn_rank": 377,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 377,
"gp_value": 10.0,
"gp_rank": 562,
"ab_value": 35.0,
"ab_rank": 524,
"r_value": 4.0,
"r_rank": 505,
"h_value": 11.0,
"h_rank": 484,
"avg_value": 0.3142857,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 493,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 1.0,
"hr_rank": 444,
"rbi_value": 2.0,
"rbi_rank": 534,
"tb_value": 15.0,
"tb_rank": 2851,
"bb_value": 2.0,
"bb_rank": 508,
"so_value": 11.0,
"so_rank": 512,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.375,
"obp_rank": "-",
"slg_value": 0.4285714,
"slg_rank": "-",
"ops_value": 0.8035714,
"ops_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 35.0,
"k_percent": 27.5,
"bb_percent": 5.0,
"woba": 0.354,
"xwoba": 0.325,
"xba": 0.271,
"xslg": 0.395,
"sweet_spot_percent": 44.0,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 44.0,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 17.8,
"whiff_percent": 29.5,
"swing_percent": 49.7
},
"components": {
"expected_quality": 0.5001,
"regression_edge": -0.8286,
"xwoba_edge": 0.6571,
"xba_edge": 0.9714,
"xslg_edge": 0.3857,
"barrel_edge": -0.5778,
"hard_hit_edge": 0.9071,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 1.7833,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIN | True | 710 | -0.1261 | 1 | 1.0107 | 1.0046 | 1.0060 | 1.0447 | neutral | 0.3180 | 0.3320 | 24.60 | 9.40 | 23.80 | 8.20 | 41.10 | |
| Home SD | True | 219 | -0.8362 | 1 | 1.0711 | 0.9240 | 0.9540 | 1.1448 | neutral | 0.3650 | 0.3420 | 15 | 6.80 | 19.30 | 10.60 | 44.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIN | True | None | 86 | 89.87 | 2585 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0023 | |
| Home SD | True | None | 52 | 91.31 | 2601 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0780 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0369 |
| home_runs_vs_away_pitcher | 1.0063 |
| home_pitcher_starter_only_factor | 1.0711 |
| away_pitcher_starter_only_factor | 1.0107 |
| home_pitcher_workload_share | 0.5185 |
| away_pitcher_workload_share | 0.5926 |
| home_pitcher_quality_edge | -0.3589 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "681190",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 428.0,
"k_percent": 15.0,
"bb_percent": 6.8,
"woba": 0.342,
"xwoba": 0.365,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 44.1,
"avg_best_speed": 82.1526,
"avg_hyper_speed": 94.8735,
"whiff_percent": 19.3,
"swing_percent": 49.9
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.084,
"command_and_miss": -0.6529,
"regression_edge": -0.6571,
"xwoba_edge": -1.5143,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.9286,
"whiff_edge": -0.8714,
"bb_edge": 0.575,
"pitch_design_score": 0.078
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681190",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 52,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 91.30817702767986,
"release_spin_rate": 2601.329633593937,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 91.30817702767986,
"release_spin_rate": 2601.329633593937,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3082,
"release_spin_rate": 2601.3296,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.078,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5572,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.8362,
"sample_weight": 1.0,
"run_prevention_factor": 1.0711,
"strikeout_factor": 0.924,
"walk_factor": 0.954,
"homer_factor": 1.1448,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681190",
"espn_id": 4722847,
"player_name": "Randy Vasquez",
"team": "SD",
"role": "pitcher",
"espn_rank": 219,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 219,
"gp_value": 24.0,
"gp_rank": 284,
"gs_value": 19.0,
"gs_rank": 91,
"qs_value": 5.0,
"qs_rank": 97,
"era_value": 4.2972,
"era_rank": null,
"w_value": 8.0,
"w_rank": 44,
"l_value": 6.0,
"l_rank": 93,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 1.0,
"hld_rank": 249,
"ip_value": 111.0,
"ip_rank": 92,
"h_value": 121.0,
"h_rank": 47,
"er_value": 53.0,
"er_rank": 66,
"hr_value": 15.0,
"hr_rank": 65,
"bb_value": 32.0,
"bb_rank": 116,
"k_value": 71.0,
"k_rank": 154,
"k_per_9_value": 5.756757,
"k_per_9_rank": 45.0,
"whip_value": 1.3783,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "687570",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 352.0,
"k_percent": 24.6,
"bb_percent": 9.4,
"woba": 0.332,
"xwoba": 0.318,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 41.1,
"avg_best_speed": 80.5535,
"avg_hyper_speed": 94.2543,
"whiff_percent": 23.8,
"swing_percent": 47.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.3239,
"command_and_miss": 0.0593,
"regression_edge": 0.4,
"xwoba_edge": -0.1714,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.5,
"whiff_edge": -0.2286,
"bb_edge": -0.075,
"pitch_design_score": -0.0023
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 89.87364268571929,
"release_spin_rate": 2585.4086268803585,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 89.87364268571929,
"release_spin_rate": 2585.4086268803585,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8736,
"release_spin_rate": 2585.4086,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0023,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0166,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1261,
"sample_weight": 1.0,
"run_prevention_factor": 1.0107,
"strikeout_factor": 1.0046,
"walk_factor": 1.006,
"homer_factor": 1.0447,
"woba_minus_xwoba": 0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687570",
"espn_id": 4620001,
"player_name": "Connor Prielipp",
"team": "MIN",
"role": "pitcher",
"espn_rank": 710,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 710,
"gp_value": 17.0,
"gp_rank": 394,
"gs_value": 17.0,
"gs_rank": 105,
"qs_value": 3.0,
"qs_rank": 131,
"era_value": 5.3384,
"era_rank": null,
"w_value": 3.0,
"w_rank": 221,
"l_value": 6.0,
"l_rank": 93,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 87.2,
"ip_rank": 126,
"h_value": 85.0,
"h_rank": 115,
"er_value": 52.0,
"er_rank": 73,
"hr_value": 12.0,
"hr_rank": 111,
"bb_value": 36.0,
"bb_rank": 79,
"k_value": 94.0,
"k_rank": 96,
"k_per_9_value": 9.65019,
"k_per_9_rank": 20.0,
"whip_value": 1.3802,
"whip_rank": null,
"war_value": -0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0369,
"home_runs_vs_away_pitcher": 1.0063,
"home_pitcher_starter_only_factor": 1.0711,
"away_pitcher_starter_only_factor": 1.0107,
"home_pitcher_workload_share": 0.5185,
"away_pitcher_workload_share": 0.5926,
"home_pitcher_quality_edge": -0.3589
},
"score_before": {
"away_runs": 4.3369,
"home_runs": 3.9869
},
"score_after": {
"away_runs": 4.4968,
"home_runs": 4.0122,
"home_win_probability": 0.4523
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away MIN | 5-5 | 0.500 | 4.20 | 4.90 | -7 | 3W | average | average |
| Home SD | 7-3 | 0.700 | 4.60 | 2.80 | 18 | 1L | average | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIN | 63-65 | 0.492 | -41 | -0.320 | True |
| Home SD | 68-60 | 0.531 | 3 | 0.023 | True |
| Signal | - | - | 0.344 | 0.442 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIN | - | - | 4 | - | - | - | - |
| Game target SD | - | - | 5 | - | - | - | - |
| Player finalized MIN | 35 | 9 | 4 | 1 | 4 | 3 | 8 |
| Player finalized SD | 35 | 8 | 4 | 1 | 4 | 3 | 8 |
| Player model fractional MIN | 33.81 | 8.49 | 4.48 | 1.07 | 4.24 | 3.04 | 7.64 |
| Player model fractional SD | 33.04 | 7.45 | 3.91 | 1.19 | 3.81 | 2.94 | 7.43 |
| Simulation box MIN | 34 | 4 | 4 | 1 | 4 | 3 | 5 |
| Simulation box SD | 39 | 9 | 5 | 1 | 5 | 4 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away MIN | Starter | Connor Prielipp | 5 | 2 | 5 | 4 | 3 | 5.50 | 1.38 | True |
| Away MIN | Setup Man | Andrew Morris | 1.10 | 2 | 0 | 4 | 0 | 4.59 | 1.56 | True |
| Away MIN | Closer | Yoendrys Gómez | 1.10 | 0 | 1 | 0 | 0 | 2.98 | 1.42 | True |
| Away MIN | Middle Reliever (High Leverage) | Jeff Hoffman | 0.10 | 0 | 0 | 0 | 0 | 3.47 | 1.48 | True |
| Away MIN | Reliever | Taylor Rogers | 0 | 1 | 1 | 1 | 1 | 3.79 | 1.21 | - |
| Home SD | Starter | Randy Vásquez | 4.20 | 4 | 3 | 4 | 2 | 4.13 | 1.21 | True |
| Home SD | Setup Man | Adrian Morejon | 1.20 | 0 | 0 | 0 | 0 | 2.22 | 1.20 | True |
| Home SD | Middle Reliever (High Leverage) | Bradgley Rodriguez | 1.20 | 0 | 1 | 0 | 0 | 2.23 | 0.94 | True |
| Home SD | Middle Reliever (High Leverage) | Jeremiah Estrada | 1 | 0 | 0 | 0 | 0 | 4.21 | 1.25 | True |
| Home SD | Closer | Mason Miller | 0 | 0 | 1 | 0 | 1 | 2.32 | 1.00 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | MIN | batter | RF | Luke Keaschall | better | 10 | 8 | 2 | 7 | 3 | predicted_RBI | 3.6950 | boost | better |
| home | SD | batter | LF | Austin Hays | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.7220 | boost | better |
| home | SD | batter | SS | Xander Bogaerts | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.6800 | boost | better |
| home | SD | batter | DH | Luis Rengifo | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | 1.6510 | boost | better |
| away | MIN | batter | CF | Byron Buxton | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.5800 | deboost | worse |
| home | SD | batter | 1B | Ty France | better | 11 | 8 | 3 | 7 | 4 | predicted_AB | 1.5300 | boost | better |
| away | MIN | batter | LF | Trevor Larnach | worse | 9 | 4 | 5 | 3 | 6 | predicted_SO | 1.3270 | boost | worse |
| away | MIN | batter | DH | Josh Bell | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -1.2200 | deboost | worse |
| home | SD | batter | RF | Fernando Tatis Jr. | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.1690 | boost | worse |
| home | SD | batter | 2B | Jake Cronenworth | worse | 10 | 4 | 6 | 3 | 7 | predicted_SO | 1.1470 | boost | worse |
| away | MIN | batter | 3B | Brooks Lee | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -1.1100 | deboost | worse |
| away | MIN | batter | SS | Kaelen Culpepper | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -1.1000 | deboost | better |
| away | MIN | batter | 1B | Royce Lewis | worse | 9 | 1 | 8 | 2 | 7 | predicted_SO | -1.0540 | deboost | better |
| home | SD | batter | CF | Jackson Merrill | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_SO | -1.0400 | deboost | better |
| away | MIN | pitcher | Reliever | Taylor Rogers | worse | 5 | 5 | 0 | 2 | 3 | predicted_BB | 1.0000 | boost | worse |
| home | SD | batter | C | Freddy Fermin | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | 0.9680 | boost | better |
| home | SD | batter | 3B | Manny Machado | worse | 9 | 4 | 5 | 3 | 6 | predicted_H | 0.9500 | boost | better |
| away | MIN | batter | 2B | Kody Clemens | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -0.9180 | deboost | better |
| away | MIN | pitcher | Middle Reliever (High Leverage) | Jeff Hoffman | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | MIN | batter | C | Ryan Jeffers | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.6940 | deboost | better |
| home | SD | pitcher | Starter | Randy Vásquez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | MIN | pitcher | Starter | Connor Prielipp | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.3333 | deboost | worse |
| home | SD | pitcher | Middle Reliever (High Leverage) | Bradgley Rodriguez | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| home | SD | pitcher | Setup Man | Adrian Morejon | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1333 | deboost | worse |
| away | MIN | pitcher | Setup Man | Andrew Morris | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| away | MIN | pitcher | Closer | Yoendrys Gómez | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Connor Prielipp |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1261 |
| ESPN Rank | 710 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0023 |
| Avg Velo | 89.8736 |
| Avg Spin | 2585.4086 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 5 |
| Season ERA | 5.3384 |
| Season WHIP | 1.3802 |
| Role Avg IP | 5.1570 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"opponent": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"edges": {
"quality_edge": -0.1453,
"offense_edge": 0.0318,
"opponent_offense_edge": -0.0536,
"defense_strength": -0.0936,
"opponent_defense_weakness": -0.0625,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9935,
"run_prevention": 1.008,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687570",
"profile": {
"available": true,
"pitcher_id": "687570",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 352.0,
"k_percent": 24.6,
"bb_percent": 9.4,
"woba": 0.332,
"xwoba": 0.318,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 41.1,
"avg_best_speed": 80.5535,
"avg_hyper_speed": 94.2543,
"whiff_percent": 23.8,
"swing_percent": 47.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.3239,
"command_and_miss": 0.0593,
"regression_edge": 0.4,
"xwoba_edge": -0.1714,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.5,
"whiff_edge": -0.2286,
"bb_edge": -0.075,
"pitch_design_score": -0.0023
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 89.87364268571929,
"release_spin_rate": 2585.4086268803585,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 89.87364268571929,
"release_spin_rate": 2585.4086268803585,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8736,
"release_spin_rate": 2585.4086,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0023,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0166,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1261,
"sample_weight": 1.0,
"run_prevention_factor": 1.0107,
"strikeout_factor": 1.0046,
"walk_factor": 1.006,
"homer_factor": 1.0447,
"woba_minus_xwoba": 0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687570",
"espn_id": 4620001,
"player_name": "Connor Prielipp",
"team": "MIN",
"role": "pitcher",
"espn_rank": 710,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 710,
"gp_value": 17.0,
"gp_rank": 394,
"gs_value": 17.0,
"gs_rank": 105,
"qs_value": 3.0,
"qs_rank": 131,
"era_value": 5.3384,
"era_rank": null,
"w_value": 3.0,
"w_rank": 221,
"l_value": 6.0,
"l_rank": 93,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 87.2,
"ip_rank": 126,
"h_value": 85.0,
"h_rank": 115,
"er_value": 52.0,
"er_rank": 73,
"hr_value": 12.0,
"hr_rank": 111,
"bb_value": 36.0,
"bb_rank": 79,
"k_value": 94.0,
"k_rank": 96,
"k_per_9_value": 9.65019,
"k_per_9_rank": 20.0,
"whip_value": 1.3802,
"whip_rank": null,
"war_value": -0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0107,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0107,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.006,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0447,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0046,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 54.1,
"ER": 33,
"H": 55,
"BB": 21,
"SO": 59,
"HR": 8,
"ERA": 5.466257668711656,
"WHIP": 1.3987730061349692,
"K9": 9.773006134969325,
"HR9": 1.3251533742331287,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-15T00:00:00"
}{
"available": true,
"pitcher_id": "687570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 89.87364268571929,
"release_spin_rate": 2585.4086268803585,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 89.87364268571929,
"release_spin_rate": 2585.4086268803585,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8736,
"release_spin_rate": 2585.4086,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0023,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0166,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 17.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7727,
"prior_weight": 0.2273
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687570",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 18.0,
"R": 18.0,
"H": 23.0,
"BB": 13.0,
"SO": 29.0,
"HR": 6.0,
"BF": 109.0,
"Pitches": 433.0
},
"per_game": {
"IP": 5.1,
"ER": 3.6,
"R": 3.6,
"H": 4.6,
"BB": 2.6,
"SO": 5.8,
"HR": 1.2,
"BF": 21.8,
"Pitches": 86.6
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.3846,
"ER_per_IP": 0.69231,
"H_per_IP": 0.88462,
"BB_per_IP": 0.5,
"SO_per_IP": 1.11538,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.1,
"ER": 33.0,
"R": 36.0,
"H": 55.0,
"BB": 21.0,
"SO": 59.0,
"HR": 8.0,
"BF": 236.0,
"Pitches": 892.0
},
"per_game": {
"IP": 5.1,
"ER": 3.3,
"R": 3.6,
"H": 5.5,
"BB": 2.1,
"SO": 5.9,
"HR": 0.8,
"BF": 23.6,
"Pitches": 89.2
},
"rates": {
"ERA": 5.4663,
"WHIP": 1.3988,
"ER_per_IP": 0.60736,
"H_per_IP": 1.01227,
"BB_per_IP": 0.3865,
"SO_per_IP": 1.08589,
"HR_per_IP": 0.14724
}
},
"season": {
"games": 17,
"totals": {
"IP": 87.2,
"ER": 52.0,
"R": 60.0,
"H": 85.0,
"BB": 36.0,
"SO": 94.0,
"HR": 12.0,
"BF": 382.0,
"Pitches": 1506.0
},
"per_game": {
"IP": 5.0,
"ER": 3.0588,
"R": 3.5294,
"H": 5.0,
"BB": 2.1176,
"SO": 5.5294,
"HR": 0.7059,
"BF": 22.4706,
"Pitches": 88.5882
},
"rates": {
"ERA": 5.3384,
"WHIP": 1.3802,
"ER_per_IP": 0.59316,
"H_per_IP": 0.96958,
"BB_per_IP": 0.41065,
"SO_per_IP": 1.07224,
"HR_per_IP": 0.13688
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 3.225,
"predicted_H": 5.029,
"predicted_BB": 2.245,
"predicted_SO": 5.618,
"predicted_HR": 0.923,
"predicted_ERA": 5.4951,
"predicted_WHIP": 1.3773
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.446,
"form_weight": 0.554,
"form_reliability": 0.7727,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7727,
"prior_weight": 0.2273
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 3.225,
"final": 2.6786,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.029,
"final": 4.57,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.245,
"final": 2.5818,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.618,
"final": 5.3424,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.923,
"final": 0.5113,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4951,
"final": 5.4951,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3773,
"final": 1.3773,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Andrew Morris |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5279 |
| ESPN Rank | 153 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2148 |
| Avg Velo | 93.7506 |
| Avg Spin | 2059.0127 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 2 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.3371 |
| Season WHIP | 1.2978 |
| Role Avg IP | 1.1990 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"opponent": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"edges": {
"quality_edge": -0.1453,
"offense_edge": 0.0318,
"opponent_offense_edge": -0.0536,
"defense_strength": -0.0936,
"opponent_defense_weakness": -0.0625,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9935,
"run_prevention": 1.008,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "702193",
"profile": {
"available": true,
"pitcher_id": "702193",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 242.0,
"k_percent": 22.2,
"bb_percent": 8.7,
"woba": 0.285,
"xwoba": 0.268,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 33.1,
"avg_best_speed": 75.0312,
"avg_hyper_speed": 93.0776,
"whiff_percent": 21.9,
"swing_percent": 47.0
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.9285,
"command_and_miss": -0.155,
"regression_edge": 0.4857,
"xwoba_edge": 1.2571,
"barrel_edge": 0.8,
"hard_hit_edge": 0.6429,
"whiff_edge": -0.5,
"bb_edge": 0.1,
"pitch_design_score": 0.2148
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "702193",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 93.75061164179812,
"release_spin_rate": 2059.012671350972,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 93.75061164179812,
"release_spin_rate": 2059.012671350972,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7506,
"release_spin_rate": 2059.0127,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5341,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5279,
"sample_weight": 0.968,
"run_prevention_factor": 0.9551,
"strikeout_factor": 0.9806,
"walk_factor": 0.9923,
"homer_factor": 0.8766,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702193",
"espn_id": 5007765,
"player_name": "Andrew Morris",
"team": "MIN",
"role": "pitcher",
"espn_rank": 153,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 153,
"gp_value": 49.0,
"gp_rank": 71,
"gs_value": 2.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.337,
"era_rank": null,
"w_value": 4.0,
"w_rank": 162,
"l_value": 4.0,
"l_rank": 153,
"sv_value": 3.0,
"sv_rank": 62,
"hld_value": 20.0,
"hld_rank": 11,
"ip_value": 59.1,
"ip_rank": 192,
"h_value": 55.0,
"h_rank": 185,
"er_value": 22.0,
"er_rank": 251,
"hr_value": 3.0,
"hr_rank": 404,
"bb_value": 22.0,
"bb_rank": 218,
"k_value": 56.0,
"k_rank": 213,
"k_per_9_value": 8.494382,
"k_per_9_rank": 29.0,
"whip_value": 1.2977,
"whip_rank": null,
"war_value": 1.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9565,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9565,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9925,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8805,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9812,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 4,
"H": 8,
"BB": 6,
"SO": 5,
"HR": 0,
"ERA": 3.8571428571428577,
"WHIP": 1.5000000000000002,
"K9": 4.821428571428572,
"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-18T00:00:00"
}{
"available": true,
"pitcher_id": "702193",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 93.75061164179812,
"release_spin_rate": 2059.012671350972,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 93.75061164179812,
"release_spin_rate": 2059.012671350972,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7506,
"release_spin_rate": 2059.0127,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5341,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.894,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.704,
"prior_weight": 0.296
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "702193",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 49,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 4.0,
"SO": 4.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.8,
"SO": 0.8,
"HR": 0.0,
"BF": 4.6,
"Pitches": 19.2
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.9286,
"ER_per_IP": 0.64286,
"H_per_IP": 1.07143,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 6.0,
"SO": 5.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 152.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.6,
"SO": 0.5,
"HR": 0.0,
"BF": 4.0,
"Pitches": 15.2
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.5,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.53571,
"HR_per_IP": 0.0
}
},
"season": {
"games": 49,
"totals": {
"IP": 59.1,
"ER": 22.0,
"R": 25.0,
"H": 55.0,
"BB": 22.0,
"SO": 56.0,
"HR": 3.0,
"BF": 252.0,
"Pitches": 1028.0
},
"per_game": {
"IP": 1.1,
"ER": 0.449,
"R": 0.5102,
"H": 1.1224,
"BB": 0.449,
"SO": 1.1429,
"HR": 0.0612,
"BF": 5.1429,
"Pitches": 20.9796
},
"rates": {
"ERA": 3.3371,
"WHIP": 1.2978,
"ER_per_IP": 0.37079,
"H_per_IP": 0.92697,
"BB_per_IP": 0.37079,
"SO_per_IP": 0.94382,
"HR_per_IP": 0.05056
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.534,
"predicted_H": 1.014,
"predicted_BB": 0.618,
"predicted_SO": 0.857,
"predicted_HR": 0.053,
"predicted_ERA": 4.5883,
"predicted_WHIP": 1.5596
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4751,
"form_weight": 0.5249,
"form_reliability": 0.704,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.894,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.704,
"prior_weight": 0.296
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.534,
"final": 1.2304,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 1.014,
"final": 2.4325,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.618,
"final": 0.3244,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.857,
"final": 0.4499,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.053,
"final": 0.5029,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5883,
"final": 4.5883,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5596,
"final": 1.5596,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Yoendrys Gómez |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3923 |
| ESPN Rank | 110 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1166 |
| Avg Velo | 91.9977 |
| Avg Spin | 2525.7340 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.1953 |
| Season WHIP | 1.3136 |
| Role Avg IP | 1.0260 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"opponent": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"edges": {
"quality_edge": -0.1453,
"offense_edge": 0.0318,
"opponent_offense_edge": -0.0536,
"defense_strength": -0.0936,
"opponent_defense_weakness": -0.0625,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9935,
"run_prevention": 1.008,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "672782",
"profile": {
"available": true,
"pitcher_id": "672782",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 228.0,
"k_percent": 21.4,
"bb_percent": 11.9,
"woba": 0.299,
"xwoba": 0.342,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 44.1,
"avg_best_speed": 77.2979,
"avg_hyper_speed": 93.9758,
"whiff_percent": 24.9,
"swing_percent": 47.2
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.4649,
"command_and_miss": -0.2164,
"regression_edge": -1.2286,
"xwoba_edge": -0.8571,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.9286,
"whiff_edge": -0.0714,
"bb_edge": -0.7,
"pitch_design_score": 0.1166
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "672782",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.99774687143601,
"release_spin_rate": 2525.7339656582176,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.99774687143601,
"release_spin_rate": 2525.7339656582176,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9977,
"release_spin_rate": 2525.734,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1166,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.833,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3923,
"sample_weight": 0.912,
"run_prevention_factor": 1.0333,
"strikeout_factor": 0.9932,
"walk_factor": 1.0511,
"homer_factor": 1.0849,
"woba_minus_xwoba": -0.043,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "672782",
"espn_id": 42898,
"player_name": "Yoendrys Gomez",
"team": "MIN",
"role": "pitcher",
"espn_rank": 110,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 110,
"gp_value": 53.0,
"gp_rank": 44,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.1952,
"era_rank": null,
"w_value": 2.0,
"w_rank": 286,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 20.0,
"sv_rank": 14,
"hld_value": 6.0,
"hld_rank": 134,
"ip_value": 56.1,
"ip_rank": 210,
"h_value": 45.0,
"h_rank": 240,
"er_value": 20.0,
"er_rank": 279,
"hr_value": 7.0,
"hr_rank": 206,
"bb_value": 29.0,
"bb_rank": 143,
"k_value": 52.0,
"k_rank": 236,
"k_per_9_value": 8.307693,
"k_per_9_rank": 30.0,
"whip_value": 1.3136,
"whip_rank": null,
"war_value": 1.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0304,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 1.0304,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0466,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0774,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9938,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 2,
"H": 8,
"BB": 6,
"SO": 9,
"HR": 1,
"ERA": 2.076923076923077,
"WHIP": 1.6153846153846154,
"K9": 9.346153846153847,
"HR9": 1.0384615384615385,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "672782",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.99774687143601,
"release_spin_rate": 2525.7339656582176,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.99774687143601,
"release_spin_rate": 2525.7339656582176,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9977,
"release_spin_rate": 2525.734,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1166,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.833,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.293,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6931,
"prior_weight": 0.3069
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "672782",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 53,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 2.0,
"H": 3.0,
"BB": 3.0,
"SO": 3.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.6,
"BB": 0.6,
"SO": 0.6,
"HR": 0.2,
"BF": 3.6,
"Pitches": 13.6
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3846,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.69231,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 3.0,
"H": 8.0,
"BB": 6.0,
"SO": 9.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.8,
"BB": 0.6,
"SO": 0.9,
"HR": 0.1,
"BF": 3.8,
"Pitches": 16.3
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.6154,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 53,
"totals": {
"IP": 56.1,
"ER": 20.0,
"R": 23.0,
"H": 45.0,
"BB": 29.0,
"SO": 52.0,
"HR": 7.0,
"BF": 243.0,
"Pitches": 942.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3774,
"R": 0.434,
"H": 0.8491,
"BB": 0.5472,
"SO": 0.9811,
"HR": 0.1321,
"BF": 4.5849,
"Pitches": 17.7736
},
"rates": {
"ERA": 3.1953,
"WHIP": 1.3136,
"ER_per_IP": 0.35503,
"H_per_IP": 0.79882,
"BB_per_IP": 0.51479,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.12426
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.331,
"predicted_H": 0.849,
"predicted_BB": 0.568,
"predicted_SO": 0.888,
"predicted_HR": 0.162,
"predicted_ERA": 2.9788,
"predicted_WHIP": 1.4167
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4797,
"form_weight": 0.5203,
"form_reliability": 0.6931,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.293,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6931,
"prior_weight": 0.3069
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.331,
"final": 0.1722,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.849,
"final": 0.4418,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.568,
"final": 0.2956,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.888,
"final": 0.9417,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.162,
"final": 0.0843,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9788,
"final": 2.9788,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4167,
"final": 1.4167,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jeff Hoffman |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3863 |
| ESPN Rank | 390 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0398 |
| Avg Velo | 90.6260 |
| Avg Spin | 2471.9764 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.7636 |
| Season WHIP | 1.4000 |
| Role Avg IP | 0.9480 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"opponent": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"edges": {
"quality_edge": -0.1453,
"offense_edge": 0.0318,
"opponent_offense_edge": -0.0536,
"defense_strength": -0.0936,
"opponent_defense_weakness": -0.0625,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9935,
"run_prevention": 1.008,
"strikeout": 0.9999
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656546",
"profile": {
"available": true,
"pitcher_id": "656546",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 237.0,
"k_percent": 34.3,
"bb_percent": 9.7,
"woba": 0.311,
"xwoba": 0.297,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 38.3,
"avg_best_speed": 78.0229,
"avg_hyper_speed": 93.6923,
"whiff_percent": 37.2,
"swing_percent": 50.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0294,
"command_and_miss": 1.3379,
"regression_edge": 0.4,
"xwoba_edge": 0.4286,
"barrel_edge": -0.6,
"hard_hit_edge": -0.1,
"whiff_edge": 1.6857,
"bb_edge": -0.15,
"pitch_design_score": 0.0398
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656546",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 90.62595876676656,
"release_spin_rate": 2471.9764241244957,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 90.62595876676656,
"release_spin_rate": 2471.9764241244957,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.626,
"release_spin_rate": 2471.9764,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0398,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2843,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.3863,
"sample_weight": 0.948,
"run_prevention_factor": 0.9672,
"strikeout_factor": 1.1295,
"walk_factor": 1.0114,
"homer_factor": 1.0371,
"woba_minus_xwoba": 0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656546",
"espn_id": 33841,
"player_name": "Jeff Hoffman",
"team": "MIN",
"role": "pitcher",
"espn_rank": 390,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 390,
"gp_value": 58.0,
"gp_rank": 16,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.7636,
"era_rank": null,
"w_value": 6.0,
"w_rank": 90,
"l_value": 8.0,
"l_rank": 33,
"sv_value": 5.0,
"sv_rank": 39,
"hld_value": 16.0,
"hld_rank": 23,
"ip_value": 55.0,
"ip_rank": 221,
"h_value": 53.0,
"h_rank": 194,
"er_value": 23.0,
"er_rank": 232,
"hr_value": 4.0,
"hr_rank": 336,
"bb_value": 24.0,
"bb_rank": 200,
"k_value": 85.0,
"k_rank": 111,
"k_per_9_value": 13.909091,
"k_per_9_rank": 13.0,
"whip_value": 1.4,
"whip_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9689,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9689,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0108,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0352,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.1228,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 6,
"BB": 7,
"SO": 15,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.3,
"K9": 13.5,
"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-19T00:00:00"
}{
"available": true,
"pitcher_id": "656546",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 20,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 90.62595876676656,
"release_spin_rate": 2471.9764241244957,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 20,
"pitch_usage": 0.0,
"release_speed": 90.62595876676656,
"release_spin_rate": 2471.9764241244957,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.626,
"release_spin_rate": 2471.9764,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0398,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2843,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.026,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.688,
"prior_weight": 0.312
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656546",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 58,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 4.0,
"SO": 6.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.8,
"SO": 1.2,
"HR": 0.0,
"BF": 4.8,
"Pitches": 19.2
},
"rates": {
"ERA": 3.6,
"WHIP": 1.8,
"ER_per_IP": 0.4,
"H_per_IP": 1.0,
"BB_per_IP": 0.8,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 7.0,
"SO": 15.0,
"HR": 0.0,
"BF": 44.0,
"Pitches": 177.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.7,
"SO": 1.5,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.7
},
"rates": {
"ERA": 1.8,
"WHIP": 1.3,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.7,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 58,
"totals": {
"IP": 55.0,
"ER": 23.0,
"R": 30.0,
"H": 53.0,
"BB": 24.0,
"SO": 85.0,
"HR": 4.0,
"BF": 248.0,
"Pitches": 1025.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3966,
"R": 0.5172,
"H": 0.9138,
"BB": 0.4138,
"SO": 1.4655,
"HR": 0.069,
"BF": 4.2759,
"Pitches": 17.6724
},
"rates": {
"ERA": 3.7636,
"WHIP": 1.4,
"ER_per_IP": 0.41818,
"H_per_IP": 0.96364,
"BB_per_IP": 0.43636,
"SO_per_IP": 1.54545,
"HR_per_IP": 0.07273
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.306,
"predicted_H": 0.705,
"predicted_BB": 0.468,
"predicted_SO": 0.984,
"predicted_HR": 0.044,
"predicted_ERA": 3.4732,
"predicted_WHIP": 1.4806
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4818,
"form_weight": 0.5182,
"form_reliability": 0.688,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.026,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.688,
"prior_weight": 0.312
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.306,
"final": 0.1586,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.705,
"final": 0.3653,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.468,
"final": 0.2425,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.984,
"final": 0.5099,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.044,
"final": 0.0228,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4732,
"final": 3.4732,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4806,
"final": 1.4806,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Taylor Rogers |
| Role | Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0843 |
| ESPN Rank | 316 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.3450 |
| Avg Spin | 2518.3263 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | - |
| Season WHIP | - |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"available": false,
"reason": "No team-form snapshot was stored for this pitcher row.",
"display_fallback": "Use the game-level Team Form Snapshot section for team context."
}{
"available": false,
"reason": "No pitcher-specific recent-form block was stored for this row.",
"display_fallback": "Use Player Form Blend windows for last-5, last-10, and season pitcher form."
}{
"available": true,
"pitcher_id": "573124",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 84.34496280592458,
"release_spin_rate": 2518.3262577442615,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 84.34496280592458,
"release_spin_rate": 2518.3262577442615,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.345,
"release_spin_rate": 2518.3263,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 9.155,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6468,
"prior_weight": 0.3532
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "573124",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 51,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.0
},
"rates": {
"ERA": 3.6,
"WHIP": 0.8,
"ER_per_IP": 0.4,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 6.0,
"SO": 9.0,
"HR": 0.0,
"BF": 46.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.8,
"BB": 0.6,
"SO": 0.9,
"HR": 0.0,
"BF": 4.6,
"Pitches": 18.3
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.3548,
"ER_per_IP": 0.29032,
"H_per_IP": 0.77419,
"BB_per_IP": 0.58065,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.0
}
},
"season": {
"games": 51,
"totals": {
"IP": 45.2,
"ER": 22.0,
"R": 22.0,
"H": 49.0,
"BB": 20.0,
"SO": 39.0,
"HR": 3.0,
"BF": 205.0,
"Pitches": 807.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4314,
"R": 0.4314,
"H": 0.9608,
"BB": 0.3922,
"SO": 0.7647,
"HR": 0.0588,
"BF": 4.0196,
"Pitches": 15.8235
},
"rates": {
"ERA": 4.3358,
"WHIP": 1.5109,
"ER_per_IP": 0.48175,
"H_per_IP": 1.07299,
"BB_per_IP": 0.43796,
"SO_per_IP": 0.85401,
"HR_per_IP": 0.06569
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.322,
"predicted_H": 0.636,
"predicted_BB": 0.287,
"predicted_SO": 0.715,
"predicted_HR": 0.046,
"predicted_ERA": 3.7933,
"predicted_WHIP": 1.2078
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4992,
"form_weight": 0.5008,
"form_reliability": 0.6468,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.155,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6468,
"prior_weight": 0.3532
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.322,
"final": 0.1612,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.636,
"final": 0.3185,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.287,
"final": 0.1437,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.715,
"final": 0.3581,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.046,
"final": 0.023,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7933,
"final": 3.7933,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2078,
"final": 1.2078,
"source": "form_only"
}
}
}{
"available": false,
"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.161 | 0.000 | 0.000 | Hitting_2B | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.398 | 5.000 | 3.000 | Hitting_AB | 3.503 | 5.000 | 1.497 | 0.000 |
| predicted_AVG | 0.272 | 0.200 | 0.333 | Hitting_AVG | 0.281 | 0.400 | -0.081 | -0.200 |
| predicted_BB | 0.398 | 0.000 | 0.000 | Hitting_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 0.924 | 1.000 | 1.000 | Hitting_H | 0.983 | 2.000 | 0.017 | -1.000 |
| predicted_HR | 0.059 | 1.000 | 0.000 | Hitting_HR | 0.064 | 0.000 | 0.936 | 1.000 |
| predicted_OBP | 0.348 | 0.200 | 0.333 | Hitting_OBP | 0.375 | 0.400 | -0.175 | -0.200 |
| predicted_R | 0.500 | 1.000 | 0.000 | Hitting_R | 0.561 | 1.000 | 0.439 | 0.000 |
| predicted_RBI | 0.305 | 4.000 | 0.000 | Hitting_RBI | 0.335 | 0.000 | 3.665 | 4.000 |
| predicted_SLG | 0.377 | 0.800 | 0.333 | Hitting_SLG | 0.389 | 0.400 | 0.411 | 0.400 |
| predicted_SO | 0.610 | 1.000 | 0.000 | Hitting_SO | 0.612 | 0.000 | 0.388 | 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_RBI: 0.3050 -> 4.0000 (boost 3.6950, better) |
| Biggest Deboost | predicted_BB: 0.3980 -> 0.0000 (deboost -0.3980, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_AB: 3.3980 -> 3.4819 (boost 0.0839, 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.3630 -> 0.3510 (deboost -0.0120, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.6405 -> 1.0000 (boost 0.3595, worse) | predicted_AB: 3.4819 -> 3.0000 (deboost -0.4819, worse) | AB rounded to 3 (raw=3.48), rates preserved: AVG=0.282 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4745 -> 0.0000 (deboost -0.4745, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 1 | 1 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 0.0000 -> 4.0000 (boost 4.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3560 -> 0.3510 (deboost -0.0050, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "RF",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.161,
"predicted_3B": 0.008,
"predicted_AB": 3.398,
"predicted_AVG": 0.272,
"predicted_BB": 0.398,
"predicted_H": 0.924,
"predicted_HR": 0.059,
"predicted_OBP": 0.348,
"predicted_R": 0.5,
"predicted_RBI": 0.305,
"predicted_SLG": 0.377,
"predicted_SO": 0.61
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.19,
"predicted_3B": 0.0071,
"predicted_AB": 3.4819,
"predicted_AVG": 0.286,
"predicted_BB": 0.3686,
"predicted_H": 0.9971,
"predicted_HBP": 0.163,
"predicted_HR": 0.0603,
"predicted_OBP": 0.363,
"predicted_R": 0.4862,
"predicted_RBI": 0.2804,
"predicted_SLG": 0.3969,
"predicted_SO": 0.6385
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.19,
"delta": 0.029,
"percent_delta": 0.1801,
"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.398,
"after": 3.4819,
"delta": 0.0839,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.286,
"delta": 0.014,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.398,
"after": 0.3686,
"delta": -0.0294,
"percent_delta": -0.0739,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.924,
"after": 0.9971,
"delta": 0.0731,
"percent_delta": 0.0791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.059,
"after": 0.0603,
"delta": 0.0013,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.363,
"delta": 0.015,
"percent_delta": 0.0431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4862,
"delta": -0.0138,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.305,
"after": 0.2804,
"delta": -0.0246,
"percent_delta": -0.0807,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3969,
"delta": 0.0199,
"percent_delta": 0.0528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.61,
"after": 0.6385,
"delta": 0.0285,
"percent_delta": 0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.398,
"after": 3.4819,
"delta": 0.0839,
"percent_delta": 0.0247,
"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": 118
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.19,
"predicted_3B": 0.0071,
"predicted_AB": 3.4819,
"predicted_AVG": 0.2825,
"predicted_BB": 0.3675,
"predicted_H": 0.9835,
"predicted_HBP": 0.163,
"predicted_HR": 0.0597,
"predicted_OBP": 0.351,
"predicted_R": 0.4745,
"predicted_RBI": 0.2737,
"predicted_SLG": 0.3926,
"predicted_SO": 0.6405
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.19,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0071,
"after": 0.0071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4819,
"after": 3.4819,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2825,
"delta": -0.0035,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3686,
"after": 0.3675,
"delta": -0.0011,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9971,
"after": 0.9835,
"delta": -0.0136,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.163,
"after": 0.163,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0603,
"after": 0.0597,
"delta": -0.0006,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.351,
"delta": -0.012,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4862,
"after": 0.4745,
"delta": -0.0117,
"percent_delta": -0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2804,
"after": 0.2737,
"delta": -0.0067,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3969,
"after": 0.3926,
"delta": -0.0043,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6385,
"after": 0.6405,
"delta": 0.002,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.363,
"after": 0.351,
"delta": -0.012,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.48), rates preserved: AVG=0.282 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.19,
"after": 0.0,
"delta": -0.19,
"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.4819,
"after": 3.0,
"delta": -0.4819,
"percent_delta": -0.1384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3675,
"after": 0.0,
"delta": -0.3675,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9835,
"after": 1.0,
"delta": 0.0165,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.163,
"after": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0597,
"after": 0.0,
"delta": -0.0597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2737,
"after": 0.0,
"delta": -0.2737,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6405,
"after": 1.0,
"delta": 0.3595,
"percent_delta": 0.5613,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6405,
"after": 1.0,
"delta": 0.3595,
"percent_delta": 0.5613,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4819,
"after": 3.0,
"delta": -0.4819,
"percent_delta": -0.1384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4745,
"after": 0.0,
"delta": -0.4745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4745,
"after": 0.0,
"delta": -0.4745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"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.282,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.356,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.393,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2825,
"after": 0.282,
"delta": -0.0005,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.356,
"delta": 0.005,
"percent_delta": 0.0142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3926,
"after": 0.393,
"delta": 0.0004,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 4.0,
"delta": 4.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 4.0,
"delta": 4.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2825,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.351,
"predicted_R": 1.0,
"predicted_RBI": 4.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3926,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.282,
"after": 0.2825,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.356,
"after": 0.351,
"delta": -0.005,
"percent_delta": -0.0141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3926,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.356,
"after": 0.351,
"delta": -0.005,
"percent_delta": -0.0141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.398,
"after": 5.0,
"delta": 1.602,
"percent_delta": 0.4715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2825,
"delta": 0.0105,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.398,
"after": 0.0,
"delta": -0.398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.924,
"after": 1.0,
"delta": 0.076,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.059,
"after": 1.0,
"delta": 0.941,
"percent_delta": 15.9492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.351,
"delta": 0.003,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.305,
"after": 4.0,
"delta": 3.695,
"percent_delta": 12.1148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3926,
"delta": 0.0156,
"percent_delta": 0.0414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.305,
"after": 4.0,
"delta": 3.695,
"percent_delta": 12.1148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.398,
"after": 0.0,
"delta": -0.398,
"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.161 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.398 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.398 | - |
| predicted_H | 0.924 | - |
| predicted_HR | 0.059 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.305 | - |
| predicted_SLG | 0.377 | - |
| predicted_SO | 0.610 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.029 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.482 | 0.084 |
| predicted_AVG | 0.286 | 0.014 |
| predicted_BB | 0.369 | -0.029 |
| predicted_H | 0.997 | 0.073 |
| predicted_HBP | 0.163 | - |
| predicted_HR | 0.060 | 0.001 |
| predicted_OBP | 0.363 | 0.015 |
| predicted_R | 0.486 | -0.014 |
| predicted_RBI | 0.280 | -0.025 |
| predicted_SLG | 0.397 | 0.020 |
| predicted_SO | 0.638 | 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.190 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.482 | 0.000 |
| predicted_AVG | 0.282 | -0.004 |
| predicted_BB | 0.367 | -0.001 |
| predicted_H | 0.984 | -0.014 |
| predicted_HBP | 0.163 | 0.000 |
| predicted_HR | 0.060 | -0.001 |
| predicted_OBP | 0.351 | -0.012 |
| predicted_R | 0.474 | -0.012 |
| predicted_RBI | 0.274 | -0.007 |
| predicted_SLG | 0.393 | -0.004 |
| predicted_SO | 0.640 | 0.002 |
AB rounded to 3 (raw=3.48), rates preserved: AVG=0.282 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
Player 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.007 |
| predicted_AB | 3.000 | -0.482 |
| predicted_AVG | 0.282 | -0.001 |
| predicted_BB | 0.000 | -0.367 |
| predicted_H | 1.000 | 0.016 |
| predicted_HR | 0.000 | -0.060 |
| predicted_OBP | 0.356 | 0.005 |
| predicted_R | 0.000 | -0.474 |
| predicted_RBI | 0.000 | -0.274 |
| predicted_SLG | 0.393 | 0.000 |
| predicted_SO | 1.000 | 0.360 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 4.000 | 4.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 8.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 4.000 | 0.3810 | 0.4091 | 0.4762 | 0.3810 | 0.0000 | 0.0000 | 0.0000 | 0.1905 |
| last_10 | 0.20 | 10 | - | 35.000 | 12.000 | 3.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 7.000 | 0.3429 | 0.4419 | 0.5143 | 0.3429 | 0.0286 | 0.0571 | 0.1143 | 0.2000 |
| season | 0.60 | 118 | - | 401.000 | 109.000 | 19.000 | 1.000 | 7.000 | 36.000 | 59.000 | 47.000 | 72.000 | 0.2718 | 0.3625 | 0.3766 | 0.2718 | 0.0175 | 0.0898 | 0.1172 | 0.1795 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2280 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.5920 |
| predicted_AVG | 0.3043 |
| predicted_BB | 0.3300 |
| predicted_H | 1.0930 |
| predicted_HBP | 0.1630 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.3827 |
| predicted_R | 0.4680 |
| predicted_RBI | 0.2480 |
| predicted_SLG | 0.4231 |
| predicted_SO | 0.6760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.2280 | 0.1900 | model_form_blend |
| predicted_3B | 0.0080 | 0.0060 | 0.0071 | model_form_blend |
| predicted_AB | 3.3980 | 3.5920 | 3.4819 | model_form_blend |
| predicted_AVG | 0.2720 | 0.3043 | 0.2860 | model_form_blend |
| predicted_BB | 0.3980 | 0.3300 | 0.3686 | model_form_blend |
| predicted_H | 0.9240 | 1.0930 | 0.9971 | model_form_blend |
| predicted_HBP | - | 0.1630 | 0.1630 | form_only |
| predicted_HR | 0.0590 | 0.0620 | 0.0603 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3827 | 0.3630 | model_form_blend |
| predicted_R | 0.5000 | 0.4680 | 0.4862 | model_form_blend |
| predicted_RBI | 0.3050 | 0.2480 | 0.2804 | model_form_blend |
| predicted_SLG | 0.3770 | 0.4231 | 0.3969 | model_form_blend |
| predicted_SO | 0.6100 | 0.6760 | 0.6385 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 469 |
| Season rows before report date | 469 |
| Report year | 2026 |
| Profile rows used | 118 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 4 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 807712 |
| playerID | 807712 |
| playerName | Luke Keaschall |
| pos | 2B |
| started | True |
| startingPosition | RF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.332 |
| sl_xwoba | 0.311 |
| sl_xba | 0.241 |
| sl_xslg | 0.35 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 29.1 |
| sl_exit_velocity_avg | 84.9 |
| sl_launch_angle_avg | 17.6 |
| sl_whiff_percent | 17.3 |
| sl_swing_percent | 41.7 |
| at_bat_number | 72.0 |
| ab_pitcher | 678061.0 |
| ab_pitcher_name | Kerr, Ray |
| ab_home_team | MIN |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| 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 | 6.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Luke Keaschall flies out to center fielder Michael Harris II. |
| 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 | 1.0 |
| ab_launch_speed_last | 94.2 |
| ab_launch_angle_last | 26.0 |
| ab_hit_distance_last | 322.0 |
| ab_estimated_ba_last | 0.174 |
| ab_estimated_woba_last | 0.219 |
| ab_estimated_slg_last | 0.35 |
| 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 | 6.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 95.55 |
| ab_release_spin_rate_avg | 2338.0 |
| ab_effective_speed_avg | 95.45 |
| ab_launch_speed_avg | 94.2 |
| ab_launch_angle_avg | 26.0 |
| ab_delta_run_exp_avg | -0.131 |
| ab_delta_home_win_exp_avg | -0.0025 |
| ab_delta_pitcher_run_exp_avg | 0.131 |
| ab_bat_speed_avg | 66.6 |
| ab_swing_length_avg | 5.9 |
| ab_launch_speed_max | 94.2 |
| ab_hit_distance_sc_max | 322.0 |
| ab_release_speed_max | 96.0 |
| ab_release_spin_rate_max | 2370.0 |
| ab_release_speed_min | 95.1 |
| ab_release_spin_rate_min | 2306.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.005 |
| 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.191 | 0.000 | 0.000 | Hitting_2B | 0.192 | 1.000 | -0.192 | -1.000 |
| predicted_3B | 0.045 | 0.000 | 0.000 | Hitting_3B | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_AB | 3.736 | 3.000 | 4.000 | Hitting_AB | 3.879 | 4.000 | -0.879 | -1.000 |
| predicted_AVG | 0.236 | 0.000 | 0.250 | Hitting_AVG | 0.238 | 0.500 | -0.238 | -0.500 |
| predicted_BB | 0.255 | 1.000 | 0.000 | Hitting_BB | 0.277 | 0.000 | 0.723 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.882 | 0.000 | 1.000 | Hitting_H | 0.924 | 2.000 | -0.924 | -2.000 |
| predicted_HR | 0.191 | 0.000 | 1.000 | Hitting_HR | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_OBP | 0.285 | 0.250 | 0.250 | Hitting_OBP | 0.296 | 0.500 | -0.046 | -0.250 |
| predicted_R | 0.527 | 0.000 | 1.000 | Hitting_R | 0.567 | 1.000 | -0.567 | -1.000 |
| predicted_RBI | 0.555 | 0.000 | 1.000 | Hitting_RBI | 0.609 | 3.000 | -0.609 | -3.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_SLG | 0.465 | 0.000 | 1.000 | Hitting_SLG | 0.471 | 0.750 | -0.471 | -0.750 |
| predicted_SO | 0.918 | 0.000 | 1.000 | Hitting_SO | 0.942 | 0.000 | -0.942 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.2550 -> 1.0000 (boost 0.7450, better) |
| Biggest Deboost | predicted_SO: 0.9180 -> 0.0000 (deboost -0.9180, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 0.5550 -> 0.6081 (boost 0.0531, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3001 -> 0.2946 (deboost -0.0055, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5935 -> 1.0000 (boost 0.4065, better) | predicted_BB: 0.2615 -> 0.0000 (deboost -0.2615, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.245 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5173 -> 1.0000 (boost 0.4827, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2946 -> 0.3000 (boost 0.0054, better) | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3000 -> 0.2946 (deboost -0.0054, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665019",
"player_name": "Kody Clemens",
"position": "2B",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.191,
"predicted_3B": 0.045,
"predicted_AB": 3.736,
"predicted_AVG": 0.236,
"predicted_BB": 0.255,
"predicted_H": 0.882,
"predicted_HR": 0.191,
"predicted_OBP": 0.285,
"predicted_R": 0.527,
"predicted_RBI": 0.555,
"predicted_SLG": 0.465,
"predicted_SO": 0.918
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1841,
"predicted_3B": 0.0372,
"predicted_AB": 3.7563,
"predicted_AVG": 0.2487,
"predicted_BB": 0.2623,
"predicted_H": 0.9347,
"predicted_HBP": 0.033,
"predicted_HR": 0.191,
"predicted_OBP": 0.3001,
"predicted_R": 0.53,
"predicted_RBI": 0.6081,
"predicted_SLG": 0.4702,
"predicted_SO": 0.9133
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.1841,
"delta": -0.0069,
"percent_delta": -0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0372,
"delta": -0.0078,
"percent_delta": -0.1733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.736,
"after": 3.7563,
"delta": 0.0203,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2487,
"delta": 0.0127,
"percent_delta": 0.0538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.255,
"after": 0.2623,
"delta": 0.0073,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.882,
"after": 0.9347,
"delta": 0.0527,
"percent_delta": 0.0598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.191,
"after": 0.191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.3001,
"delta": 0.0151,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.527,
"after": 0.53,
"delta": 0.003,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.555,
"after": 0.6081,
"delta": 0.0531,
"percent_delta": 0.0957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4702,
"delta": 0.0052,
"percent_delta": 0.0112,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.918,
"after": 0.9133,
"delta": -0.0047,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.555,
"after": 0.6081,
"delta": 0.0531,
"percent_delta": 0.0957,
"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": 110
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1841,
"predicted_3B": 0.0372,
"predicted_AB": 3.7563,
"predicted_AVG": 0.2455,
"predicted_BB": 0.2615,
"predicted_H": 0.922,
"predicted_HBP": 0.033,
"predicted_HR": 0.1891,
"predicted_OBP": 0.2946,
"predicted_R": 0.5173,
"predicted_RBI": 0.5935,
"predicted_SLG": 0.4653,
"predicted_SO": 0.9161
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1841,
"after": 0.1841,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0372,
"after": 0.0372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7563,
"after": 3.7563,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2487,
"after": 0.2455,
"delta": -0.0032,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2623,
"after": 0.2615,
"delta": -0.0008,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9347,
"after": 0.922,
"delta": -0.0127,
"percent_delta": -0.0136,
"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.191,
"after": 0.1891,
"delta": -0.0019,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3001,
"after": 0.2946,
"delta": -0.0055,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.53,
"after": 0.5173,
"delta": -0.0127,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6081,
"after": 0.5935,
"delta": -0.0146,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4702,
"after": 0.4653,
"delta": -0.0049,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9133,
"after": 0.9161,
"delta": 0.0028,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3001,
"after": 0.2946,
"delta": -0.0055,
"percent_delta": -0.0183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.76), rates preserved: AVG=0.245 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1841,
"after": 0.0,
"delta": -0.1841,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0372,
"after": 0.0,
"delta": -0.0372,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7563,
"after": 4.0,
"delta": 0.2437,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2615,
"after": 0.0,
"delta": -0.2615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.922,
"after": 1.0,
"delta": 0.078,
"percent_delta": 0.0846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1891,
"after": 0.0,
"delta": -0.1891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5935,
"after": 1.0,
"delta": 0.4065,
"percent_delta": 0.6849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9161,
"after": 1.0,
"delta": 0.0839,
"percent_delta": 0.0916,
"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.5935,
"after": 1.0,
"delta": 0.4065,
"percent_delta": 0.6849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2615,
"after": 0.0,
"delta": -0.2615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5173,
"after": 1.0,
"delta": 0.4827,
"percent_delta": 0.9331,
"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.5173,
"after": 1.0,
"delta": 0.4827,
"percent_delta": 0.9331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"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.245,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.465,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2455,
"after": 0.245,
"delta": -0.0005,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.2946,
"after": 0.3,
"delta": 0.0054,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4653,
"after": 0.465,
"delta": -0.0003,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2946,
"after": 0.3,
"delta": 0.0054,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2455,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2946,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4653,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2455,
"delta": 0.0005,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2946,
"delta": -0.0054,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4653,
"delta": 0.0003,
"percent_delta": 0.0007,
"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_OBP",
"before": 0.3,
"after": 0.2946,
"delta": -0.0054,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.736,
"after": 3.0,
"delta": -0.736,
"percent_delta": -0.197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2455,
"delta": 0.0095,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.255,
"after": 1.0,
"delta": 0.745,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.882,
"after": 0.0,
"delta": -0.882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2946,
"delta": 0.0096,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.527,
"after": 0.0,
"delta": -0.527,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.555,
"after": 0.0,
"delta": -0.555,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4653,
"delta": 0.0003,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.918,
"after": 0.0,
"delta": -0.918,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.255,
"after": 1.0,
"delta": 0.745,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.918,
"after": 0.0,
"delta": -0.918,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | - |
| predicted_3B | 0.045 | - |
| predicted_AB | 3.736 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.255 | - |
| predicted_H | 0.882 | - |
| predicted_HR | 0.191 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.527 | - |
| predicted_RBI | 0.555 | - |
| predicted_SLG | 0.465 | - |
| predicted_SO | 0.918 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.184 | -0.007 |
| predicted_3B | 0.037 | -0.008 |
| predicted_AB | 3.756 | 0.020 |
| predicted_AVG | 0.249 | 0.013 |
| predicted_BB | 0.262 | 0.007 |
| predicted_H | 0.935 | 0.053 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.191 | 0.000 |
| predicted_OBP | 0.300 | 0.015 |
| predicted_R | 0.530 | 0.003 |
| predicted_RBI | 0.608 | 0.053 |
| predicted_SLG | 0.470 | 0.005 |
| predicted_SO | 0.913 | -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.184 | 0.000 |
| predicted_3B | 0.037 | 0.000 |
| predicted_AB | 3.756 | 0.000 |
| predicted_AVG | 0.245 | -0.003 |
| predicted_BB | 0.262 | -0.001 |
| predicted_H | 0.922 | -0.013 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.189 | -0.002 |
| predicted_OBP | 0.295 | -0.006 |
| predicted_R | 0.517 | -0.013 |
| predicted_RBI | 0.594 | -0.015 |
| predicted_SLG | 0.465 | -0.005 |
| predicted_SO | 0.916 | 0.003 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.245 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.184 |
| predicted_3B | 0.000 | -0.037 |
| predicted_AB | 4.000 | 0.244 |
| predicted_AVG | 0.245 | -0.001 |
| predicted_BB | 0.000 | -0.262 |
| predicted_H | 1.000 | 0.078 |
| predicted_HR | 0.000 | -0.189 |
| predicted_OBP | 0.300 | 0.005 |
| predicted_R | 1.000 | 0.483 |
| predicted_RBI | 1.000 | 0.406 |
| predicted_SLG | 0.465 | -0.000 |
| predicted_SO | 1.000 | 0.084 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 7.000 | 1.000 | 0.000 | 1.000 | 5.000 | 3.000 | 1.000 | 4.000 | 0.3684 | 0.4000 | 0.5789 | 0.3684 | 0.0526 | 0.2632 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 1.000 | 0.000 | 2.000 | 8.000 | 5.000 | 4.000 | 10.000 | 0.2564 | 0.3256 | 0.4359 | 0.2564 | 0.0513 | 0.2051 | 0.1026 | 0.2564 |
| season | 0.60 | 110 | - | 411.000 | 97.000 | 21.000 | 5.000 | 21.000 | 61.000 | 58.000 | 28.000 | 101.000 | 0.2360 | 0.2931 | 0.4647 | 0.2360 | 0.0511 | 0.1484 | 0.0681 | 0.2457 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1750 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.7830 |
| predicted_AVG | 0.2654 |
| predicted_BB | 0.2720 |
| predicted_H | 1.0040 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1910 |
| predicted_OBP | 0.3200 |
| predicted_R | 0.5340 |
| predicted_RBI | 0.6780 |
| predicted_SLG | 0.4771 |
| predicted_SO | 0.9070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.1750 | 0.1841 | model_form_blend |
| predicted_3B | 0.0450 | 0.0270 | 0.0372 | model_form_blend |
| predicted_AB | 3.7360 | 3.7830 | 3.7563 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2654 | 0.2487 | model_form_blend |
| predicted_BB | 0.2550 | 0.2720 | 0.2623 | model_form_blend |
| predicted_H | 0.8820 | 1.0040 | 0.9347 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1910 | 0.1910 | 0.1910 | model_form_blend |
| predicted_OBP | 0.2850 | 0.3200 | 0.3001 | model_form_blend |
| predicted_R | 0.5270 | 0.5340 | 0.5300 | model_form_blend |
| predicted_RBI | 0.5550 | 0.6780 | 0.6081 | model_form_blend |
| predicted_SLG | 0.4650 | 0.4771 | 0.4702 | model_form_blend |
| predicted_SO | 0.9180 | 0.9070 | 0.9133 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 448 |
| Season rows before report date | 448 |
| Report year | 2026 |
| Profile rows used | 110 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B-LF |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 665019 |
| playerID | 665019 |
| playerName | Kody Clemens |
| pos | 1B |
| started | True |
| startingPosition | 2B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.326 |
| sl_xwoba | 0.327 |
| sl_xba | 0.248 |
| sl_xslg | 0.446 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 50.1 |
| at_bat_number | 62.0 |
| ab_pitcher | 669276.0 |
| ab_pitcher_name | Lee, Dylan |
| ab_home_team | MIN |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 605137.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 4.0 |
| ab_event | single |
| ab_event_description | Kody Clemens singles on a line drive to right fielder Ronald Acuña Jr. Josh Bell scores. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 77.8 |
| ab_launch_angle_last | 28.0 |
| ab_hit_distance_last | 267.0 |
| ab_estimated_ba_last | 0.223 |
| ab_estimated_woba_last | 0.201 |
| ab_estimated_slg_last | 0.249 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 5.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 81.6 |
| ab_release_spin_rate_avg | 2122.5 |
| ab_effective_speed_avg | 81.30000000000001 |
| ab_launch_speed_avg | 77.8 |
| ab_launch_angle_avg | 28.0 |
| ab_delta_run_exp_avg | 0.2725 |
| ab_delta_home_win_exp_avg | 0.082 |
| ab_delta_pitcher_run_exp_avg | -0.2725 |
| ab_bat_speed_avg | 78.8 |
| ab_swing_length_avg | 7.5 |
| ab_launch_speed_max | 77.8 |
| ab_hit_distance_sc_max | 267.0 |
| ab_release_speed_max | 81.7 |
| ab_release_spin_rate_max | 2154.0 |
| ab_release_speed_min | 81.5 |
| ab_release_spin_rate_min | 2091.0 |
| ab_delta_run_exp_sum | 0.545 |
| ab_delta_home_win_exp_sum | 0.164 |
| ab_delta_pitcher_run_exp_sum | -0.545 |
| 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.211 | 0.000 | 0.000 | Hitting_2B | 0.225 | 1.000 | -0.225 | -1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 4.180 | 4.000 | 4.000 | Hitting_AB | 3.851 | 3.000 | 0.149 | 1.000 |
| predicted_AVG | 0.292 | 0.000 | 0.250 | Hitting_AVG | 0.263 | 0.333 | -0.263 | -0.333 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.353 | 1.000 | -0.353 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.220 | 0.000 | 1.000 | Hitting_H | 1.014 | 1.000 | -1.014 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_OBP | 0.356 | 0.000 | 0.250 | Hitting_OBP | 0.327 | 0.500 | -0.327 | -0.500 |
| predicted_R | 0.520 | 0.000 | 1.000 | Hitting_R | 0.566 | 1.000 | -0.566 | -1.000 |
| predicted_RBI | 0.810 | 0.000 | 1.000 | Hitting_RBI | 0.675 | 1.000 | -0.675 | -1.000 |
| predicted_SLG | 0.488 | 0.000 | 0.250 | Hitting_SLG | 0.443 | 0.667 | -0.443 | -0.667 |
| predicted_SO | 0.837 | 1.000 | 1.000 | Hitting_SO | 0.876 | 0.000 | 0.124 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.8370 -> 1.0000 (boost 0.1630, worse) |
| Biggest Deboost | predicted_H: 1.2200 -> 0.0000 (deboost -1.2200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.1800 -> 3.9702 (deboost -0.2098, worse) | Final model input calibrated with local 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.4902 -> 0.4602 (deboost -0.0300, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.7614 -> 1.0000 (boost 0.2386, better) | predicted_BB: 0.3492 -> 0.0000 (deboost -0.3492, worse) | AB rounded to 4 (raw=4.18), rates preserved: AVG=0.274 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5439 -> 1.0000 (boost 0.4561, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4602 -> 0.4370 (deboost -0.0232, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4370 -> 0.4602 (boost 0.0232, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605137",
"player_name": "Josh Bell",
"position": "DH",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.211,
"predicted_3B": 0.008,
"predicted_AB": 4.18,
"predicted_AVG": 0.292,
"predicted_BB": 0.333,
"predicted_H": 1.22,
"predicted_HR": 0.14,
"predicted_OBP": 0.356,
"predicted_R": 0.52,
"predicted_RBI": 0.81,
"predicted_SLG": 0.488,
"predicted_SO": 0.837
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2253,
"predicted_3B": 0.0067,
"predicted_AB": 3.9702,
"predicted_AVG": 0.2925,
"predicted_BB": 0.3503,
"predicted_H": 1.1611,
"predicted_HBP": 0.011,
"predicted_HR": 0.1491,
"predicted_OBP": 0.3571,
"predicted_R": 0.5573,
"predicted_RBI": 0.7801,
"predicted_SLG": 0.4902,
"predicted_SO": 0.782
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.2253,
"delta": 0.0143,
"percent_delta": 0.0678,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0067,
"delta": -0.0013,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 3.9702,
"delta": -0.2098,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.2925,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3503,
"delta": 0.0173,
"percent_delta": 0.052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.1611,
"delta": -0.0589,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1491,
"delta": 0.0091,
"percent_delta": 0.065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3571,
"delta": 0.0011,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.5573,
"delta": 0.0373,
"percent_delta": 0.0717,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 0.7801,
"delta": -0.0299,
"percent_delta": -0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.4902,
"delta": 0.0022,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.837,
"after": 0.782,
"delta": -0.055,
"percent_delta": -0.0657,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.18,
"after": 3.9702,
"delta": -0.2098,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2253,
"predicted_3B": 0.0067,
"predicted_AB": 3.9702,
"predicted_AVG": 0.2885,
"predicted_BB": 0.3492,
"predicted_H": 1.1453,
"predicted_HBP": 0.011,
"predicted_HR": 0.1477,
"predicted_OBP": 0.346,
"predicted_R": 0.5439,
"predicted_RBI": 0.7614,
"predicted_SLG": 0.4602,
"predicted_SO": 0.7844
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2253,
"after": 0.2253,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9702,
"after": 3.9702,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2925,
"after": 0.2885,
"delta": -0.004,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3503,
"after": 0.3492,
"delta": -0.0011,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1611,
"after": 1.1453,
"delta": -0.0158,
"percent_delta": -0.0136,
"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.1491,
"after": 0.1477,
"delta": -0.0014,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3571,
"after": 0.346,
"delta": -0.0111,
"percent_delta": -0.0311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5573,
"after": 0.5439,
"delta": -0.0134,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7801,
"after": 0.7614,
"delta": -0.0187,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4902,
"after": 0.4602,
"delta": -0.03,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.782,
"after": 0.7844,
"delta": 0.0024,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4902,
"after": 0.4602,
"delta": -0.03,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.18), rates preserved: AVG=0.274 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2253,
"after": 0.0,
"delta": -0.2253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0,
"delta": -0.0067,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9702,
"after": 4.0,
"delta": 0.0298,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3492,
"after": 0.0,
"delta": -0.3492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1453,
"after": 1.0,
"delta": -0.1453,
"percent_delta": -0.1269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1477,
"after": 0.0,
"delta": -0.1477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7614,
"after": 1.0,
"delta": 0.2386,
"percent_delta": 0.3134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7844,
"after": 1.0,
"delta": 0.2156,
"percent_delta": 0.2749,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7614,
"after": 1.0,
"delta": 0.2386,
"percent_delta": 0.3134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3492,
"after": 0.0,
"delta": -0.3492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5439,
"after": 1.0,
"delta": 0.4561,
"percent_delta": 0.8386,
"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.5439,
"after": 1.0,
"delta": 0.4561,
"percent_delta": 0.8386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": {},
"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.274,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.335,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.437,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2885,
"after": 0.274,
"delta": -0.0145,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.335,
"delta": -0.011,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4602,
"after": 0.437,
"delta": -0.0232,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4602,
"after": 0.437,
"delta": -0.0232,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2885,
"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.346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4602,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2885,
"delta": 0.0145,
"percent_delta": 0.0528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.346,
"delta": 0.011,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4602,
"delta": 0.0232,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4602,
"delta": 0.0232,
"percent_delta": 0.053,
"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.211,
"after": 0.0,
"delta": -0.211,
"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": 4.18,
"after": 4.0,
"delta": -0.18,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.2885,
"delta": -0.0035,
"percent_delta": -0.012,
"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": 1.22,
"after": 0.0,
"delta": -1.22,
"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.356,
"after": 0.346,
"delta": -0.01,
"percent_delta": -0.0281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.4602,
"delta": -0.0278,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.837,
"after": 1.0,
"delta": 0.163,
"percent_delta": 0.1947,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.837,
"after": 1.0,
"delta": 0.163,
"percent_delta": 0.1947,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.22,
"after": 0.0,
"delta": -1.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.211 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.180 | - |
| predicted_AVG | 0.292 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 1.220 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.520 | - |
| predicted_RBI | 0.810 | - |
| predicted_SLG | 0.488 | - |
| predicted_SO | 0.837 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | 0.014 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 3.970 | -0.210 |
| predicted_AVG | 0.292 | 0.001 |
| predicted_BB | 0.350 | 0.017 |
| predicted_H | 1.161 | -0.059 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.149 | 0.009 |
| predicted_OBP | 0.357 | 0.001 |
| predicted_R | 0.557 | 0.037 |
| predicted_RBI | 0.780 | -0.030 |
| predicted_SLG | 0.490 | 0.002 |
| predicted_SO | 0.782 | -0.055 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.970 | 0.000 |
| predicted_AVG | 0.288 | -0.004 |
| predicted_BB | 0.349 | -0.001 |
| predicted_H | 1.145 | -0.016 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.148 | -0.001 |
| predicted_OBP | 0.346 | -0.011 |
| predicted_R | 0.544 | -0.013 |
| predicted_RBI | 0.761 | -0.019 |
| predicted_SLG | 0.460 | -0.030 |
| predicted_SO | 0.784 | 0.002 |
AB rounded to 4 (raw=4.18), rates preserved: AVG=0.274 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.225 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.030 |
| predicted_AVG | 0.274 | -0.014 |
| predicted_BB | 0.000 | -0.349 |
| predicted_H | 1.000 | -0.145 |
| predicted_HR | 0.000 | -0.148 |
| predicted_OBP | 0.335 | -0.011 |
| predicted_R | 1.000 | 0.456 |
| predicted_RBI | 1.000 | 0.239 |
| predicted_SLG | 0.437 | -0.023 |
| predicted_SO | 1.000 | 0.216 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 2.000 | 0.000 | 1.000 | 5.000 | 4.000 | 2.000 | 2.000 | 0.3889 | 0.4500 | 0.6667 | 0.3889 | 0.0556 | 0.2778 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 10 | - | 38.000 | 12.000 | 2.000 | 0.000 | 2.000 | 9.000 | 7.000 | 5.000 | 6.000 | 0.3158 | 0.3953 | 0.5263 | 0.3158 | 0.0526 | 0.2368 | 0.1316 | 0.1579 |
| season | 0.60 | 123 | - | 453.000 | 117.000 | 26.000 | 1.000 | 17.000 | 77.000 | 64.000 | 41.000 | 103.000 | 0.2583 | 0.3213 | 0.4327 | 0.2583 | 0.0375 | 0.1700 | 0.0905 | 0.2274 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2440 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.6960 |
| predicted_AVG | 0.2932 |
| predicted_BB | 0.3730 |
| predicted_H | 1.0840 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1610 |
| predicted_OBP | 0.3586 |
| predicted_R | 0.6060 |
| predicted_RBI | 0.7410 |
| predicted_SLG | 0.4931 |
| predicted_SO | 0.7100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.2440 | 0.2253 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 4.1800 | 3.6960 | 3.9702 | model_form_blend |
| predicted_AVG | 0.2920 | 0.2932 | 0.2925 | model_form_blend |
| predicted_BB | 0.3330 | 0.3730 | 0.3503 | model_form_blend |
| predicted_H | 1.2200 | 1.0840 | 1.1611 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1400 | 0.1610 | 0.1491 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3586 | 0.3571 | model_form_blend |
| predicted_R | 0.5200 | 0.6060 | 0.5573 | model_form_blend |
| predicted_RBI | 0.8100 | 0.7410 | 0.7801 | model_form_blend |
| predicted_SLG | 0.4880 | 0.4931 | 0.4902 | model_form_blend |
| predicted_SO | 0.8370 | 0.7100 | 0.7820 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 498 |
| Season rows before report date | 498 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 605137 |
| playerID | 605137 |
| playerName | Josh Bell |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.33 |
| sl_xwoba | 0.33 |
| sl_xba | 0.252 |
| sl_xslg | 0.445 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 42.0 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 50.1 |
| at_bat_number | 61.0 |
| ab_pitcher | 682989.0 |
| ab_pitcher_name | Mederos, Victor |
| ab_home_team | MIN |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| 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 | 4.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 4.0 |
| ab_event | double |
| ab_event_description | Josh Bell doubles (26) on a sharp ground ball to center fielder Michael Harris II. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 110.1 |
| ab_launch_angle_last | 6.0 |
| ab_hit_distance_last | 112.0 |
| ab_estimated_ba_last | 0.706 |
| ab_estimated_woba_last | 0.684 |
| ab_estimated_slg_last | 0.848 |
| ab_woba_value | 1.25 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 1.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.78 |
| ab_release_spin_rate_avg | 2407.8 |
| ab_effective_speed_avg | 93.5 |
| ab_launch_speed_avg | 91.6 |
| ab_launch_angle_avg | 10.0 |
| ab_delta_run_exp_avg | 0.1287999999999999 |
| ab_delta_home_win_exp_avg | 0.0152 |
| ab_delta_pitcher_run_exp_avg | -0.1287999999999999 |
| ab_bat_speed_avg | 71.9 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 110.1 |
| ab_hit_distance_sc_max | 146.0 |
| ab_release_speed_max | 96.2 |
| ab_release_spin_rate_max | 2703.0 |
| ab_release_speed_min | 90.7 |
| ab_release_spin_rate_min | 1565.0 |
| ab_delta_run_exp_sum | 0.6439999999999999 |
| ab_delta_home_win_exp_sum | 0.076 |
| ab_delta_pitcher_run_exp_sum | -0.6439999999999999 |
| 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.193 | 0.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 4.580 | 3.000 | 5.000 | Hitting_AB | 4.166 | 4.000 | -1.166 | -1.000 |
| predicted_AVG | 0.216 | 0.000 | 0.200 | Hitting_AVG | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_BB | 0.318 | 1.000 | 1.000 | Hitting_BB | 0.348 | 1.000 | 0.652 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.083 | 0.000 | -1.083 | 0.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.333 | Hitting_OBP | 0.325 | 0.200 | -0.075 | 0.050 |
| predicted_R | 0.682 | 1.000 | 1.000 | Hitting_R | 0.732 | 1.000 | 0.268 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.577 | 1.000 | -0.577 | -1.000 |
| predicted_SLG | 0.388 | 0.000 | 0.200 | Hitting_SLG | 0.536 | 0.000 | -0.536 | 0.000 |
| predicted_SO | 1.068 | 0.000 | 1.000 | Hitting_SO | 1.156 | 1.000 | -1.156 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3180 -> 1.0000 (boost 0.6820, better) |
| Biggest Deboost | predicted_AB: 4.5800 -> 3.0000 (deboost -1.5800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 1 | 6 | 1 | 6 | predicted_BB: 0.3180 -> 0.3695 (boost 0.0515, better) | predicted_AB: 4.5800 -> 4.2107 (deboost -0.3693, worse) | Final model input calibrated with local 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.3120 -> 0.2711 (deboost -0.0409, 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: 4.2107 -> 5.0000 (boost 0.7893, better) | predicted_RBI: 0.4276 -> 0.0000 (deboost -0.4276, worse) | AB rounded to 5 (raw=4.58), rates preserved: AVG=0.191 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6225 -> 1.0000 (boost 0.3775, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3490 -> 0.3796 (boost 0.0306, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621439",
"player_name": "Byron Buxton",
"position": "CF",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.193,
"predicted_3B": 0.011,
"predicted_AB": 4.58,
"predicted_AVG": 0.216,
"predicted_BB": 0.318,
"predicted_H": 0.99,
"predicted_HR": 0.2,
"predicted_OBP": 0.318,
"predicted_R": 0.682,
"predicted_RBI": 0.49,
"predicted_SLG": 0.388,
"predicted_SO": 1.068
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0093,
"predicted_AB": 4.2107,
"predicted_AVG": 0.2092,
"predicted_BB": 0.3695,
"predicted_H": 0.8849,
"predicted_HBP": 0.121,
"predicted_HR": 0.1816,
"predicted_OBP": 0.312,
"predicted_R": 0.6378,
"predicted_RBI": 0.4381,
"predicted_SLG": 0.3787,
"predicted_SO": 1.0629
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.1673,
"delta": -0.0257,
"percent_delta": -0.1332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 4.2107,
"delta": -0.3693,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2092,
"delta": -0.0068,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 0.3695,
"delta": 0.0515,
"percent_delta": 0.1619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.8849,
"delta": -0.1051,
"percent_delta": -0.1062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.1816,
"delta": -0.0184,
"percent_delta": -0.092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.312,
"delta": -0.006,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.682,
"after": 0.6378,
"delta": -0.0442,
"percent_delta": -0.0648,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4381,
"delta": -0.0519,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3787,
"delta": -0.0093,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.068,
"after": 1.0629,
"delta": -0.0051,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.318,
"after": 0.3695,
"delta": 0.0515,
"percent_delta": 0.1619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 4.2107,
"delta": -0.3693,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 88
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1673,
"predicted_3B": 0.0093,
"predicted_AB": 4.2107,
"predicted_AVG": 0.2073,
"predicted_BB": 0.3684,
"predicted_H": 0.8729,
"predicted_HBP": 0.121,
"predicted_HR": 0.1798,
"predicted_OBP": 0.2711,
"predicted_R": 0.6225,
"predicted_RBI": 0.4276,
"predicted_SLG": 0.3796,
"predicted_SO": 1.0662
},
"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.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2107,
"after": 4.2107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2092,
"after": 0.2073,
"delta": -0.0019,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3695,
"after": 0.3684,
"delta": -0.0011,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8849,
"after": 0.8729,
"delta": -0.012,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.121,
"after": 0.121,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1816,
"after": 0.1798,
"delta": -0.0018,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.2711,
"delta": -0.0409,
"percent_delta": -0.1311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6378,
"after": 0.6225,
"delta": -0.0153,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4381,
"after": 0.4276,
"delta": -0.0105,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3787,
"after": 0.3796,
"delta": 0.0009,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0629,
"after": 1.0662,
"delta": 0.0033,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.312,
"after": 0.2711,
"delta": -0.0409,
"percent_delta": -0.1311,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.58), rates preserved: AVG=0.191 HR/AB=0.039",
"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.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2107,
"after": 5.0,
"delta": 0.7893,
"percent_delta": 0.1875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3684,
"after": 0.0,
"delta": -0.3684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8729,
"after": 1.0,
"delta": 0.1271,
"percent_delta": 0.1456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.121,
"after": 0.0,
"delta": -0.121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1798,
"after": 0.0,
"delta": -0.1798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4276,
"after": 0.0,
"delta": -0.4276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0662,
"after": 1.0,
"delta": -0.0662,
"percent_delta": -0.0621,
"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": 4.2107,
"after": 5.0,
"delta": 0.7893,
"percent_delta": 0.1875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4276,
"after": 0.0,
"delta": -0.4276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6225,
"after": 1.0,
"delta": 0.3775,
"percent_delta": 0.6064,
"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.6225,
"after": 1.0,
"delta": 0.3775,
"percent_delta": 0.6064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.191,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.257,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.349,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2073,
"after": 0.191,
"delta": -0.0163,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2711,
"after": 0.257,
"delta": -0.0141,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3796,
"after": 0.349,
"delta": -0.0306,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2073,
"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.2711,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3796,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.191,
"after": 0.2073,
"delta": 0.0163,
"percent_delta": 0.0853,
"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.257,
"after": 0.2711,
"delta": 0.0141,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.349,
"after": 0.3796,
"delta": 0.0306,
"percent_delta": 0.0876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.349,
"after": 0.3796,
"delta": 0.0306,
"percent_delta": 0.0876,
"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.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 3.0,
"delta": -1.58,
"percent_delta": -0.345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2073,
"delta": -0.0087,
"percent_delta": -0.0403,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 1.0,
"delta": 0.682,
"percent_delta": 2.1447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.2711,
"delta": -0.0469,
"percent_delta": -0.1475,
"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.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3796,
"delta": -0.0084,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.068,
"after": 0.0,
"delta": -1.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.318,
"after": 1.0,
"delta": 0.682,
"percent_delta": 2.1447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 3.0,
"delta": -1.58,
"percent_delta": -0.345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 4.580 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.318 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.682 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.388 | - |
| predicted_SO | 1.068 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.026 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 4.211 | -0.369 |
| predicted_AVG | 0.209 | -0.007 |
| predicted_BB | 0.369 | 0.051 |
| predicted_H | 0.885 | -0.105 |
| predicted_HBP | 0.121 | - |
| predicted_HR | 0.182 | -0.018 |
| predicted_OBP | 0.312 | -0.006 |
| predicted_R | 0.638 | -0.044 |
| predicted_RBI | 0.438 | -0.052 |
| predicted_SLG | 0.379 | -0.009 |
| predicted_SO | 1.063 | -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.167 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 4.211 | 0.000 |
| predicted_AVG | 0.207 | -0.002 |
| predicted_BB | 0.368 | -0.001 |
| predicted_H | 0.873 | -0.012 |
| predicted_HBP | 0.121 | 0.000 |
| predicted_HR | 0.180 | -0.002 |
| predicted_OBP | 0.271 | -0.041 |
| predicted_R | 0.623 | -0.015 |
| predicted_RBI | 0.428 | -0.011 |
| predicted_SLG | 0.380 | 0.001 |
| predicted_SO | 1.066 | 0.003 |
AB rounded to 5 (raw=4.58), rates preserved: AVG=0.191 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.009 |
| predicted_AB | 5.000 | 0.789 |
| predicted_AVG | 0.191 | -0.016 |
| predicted_BB | 0.000 | -0.368 |
| predicted_H | 1.000 | 0.127 |
| predicted_HR | 0.000 | -0.180 |
| predicted_OBP | 0.257 | -0.014 |
| predicted_R | 1.000 | 0.377 |
| predicted_RBI | 0.000 | -0.428 |
| predicted_SLG | 0.349 | -0.031 |
| 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 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 6.000 | 0.1250 | 0.3333 | 0.1250 | 0.1250 | 0.0000 | 0.0625 | 0.2500 | 0.3750 |
| last_10 | 0.20 | 10 | - | 34.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 9.000 | 0.0882 | 0.2250 | 0.1176 | 0.0882 | 0.0000 | 0.0294 | 0.1177 | 0.2647 |
| season | 0.60 | 88 | - | 351.000 | 90.000 | 17.000 | 1.000 | 25.000 | 46.000 | 60.000 | 28.000 | 94.000 | 0.2564 | 0.3204 | 0.5242 | 0.2564 | 0.0712 | 0.1310 | 0.0798 | 0.2678 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1330 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.7190 |
| predicted_AVG | 0.2002 |
| predicted_BB | 0.4380 |
| predicted_H | 0.7450 |
| predicted_HBP | 0.1210 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.3040 |
| predicted_R | 0.5790 |
| predicted_RBI | 0.3690 |
| predicted_SLG | 0.3663 |
| predicted_SO | 1.0560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1930 | 0.1330 | 0.1673 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 4.5800 | 3.7190 | 4.2107 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2002 | 0.2092 | model_form_blend |
| predicted_BB | 0.3180 | 0.4380 | 0.3695 | model_form_blend |
| predicted_H | 0.9900 | 0.7450 | 0.8849 | model_form_blend |
| predicted_HBP | - | 0.1210 | 0.1210 | form_only |
| predicted_HR | 0.2000 | 0.1570 | 0.1816 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3040 | 0.3120 | model_form_blend |
| predicted_R | 0.6820 | 0.5790 | 0.6378 | model_form_blend |
| predicted_RBI | 0.4900 | 0.3690 | 0.4381 | model_form_blend |
| predicted_SLG | 0.3880 | 0.3663 | 0.3787 | model_form_blend |
| predicted_SO | 1.0680 | 1.0560 | 1.0629 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 385 |
| Season rows before report date | 385 |
| Report year | 2026 |
| Profile rows used | 88 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 621439 |
| playerID | 621439 |
| playerName | Byron Buxton |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.36 |
| sl_xwoba | 0.345 |
| sl_xba | 0.247 |
| sl_xslg | 0.496 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 16.7 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 20.6 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 52.8 |
| at_bat_number | 73.0 |
| ab_pitcher | 678061.0 |
| ab_pitcher_name | Kerr, Ray |
| ab_home_team | MIN |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| 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 | 6.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Byron Buxton grounds out, second baseman Ozzie Albies to first baseman Matt Olson. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 94.1 |
| ab_launch_angle_last | -7.0 |
| ab_hit_distance_last | 15.0 |
| ab_estimated_ba_last | 0.289 |
| ab_estimated_woba_last | 0.268 |
| ab_estimated_slg_last | 0.322 |
| 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 | 6.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 8.0 |
| ab_release_speed_avg | 89.025 |
| ab_release_spin_rate_avg | 2270.875 |
| ab_effective_speed_avg | 89.2375 |
| ab_launch_speed_avg | 86.58 |
| ab_launch_angle_avg | 29.4 |
| ab_delta_run_exp_avg | -0.032625 |
| ab_delta_home_win_exp_avg | -0.000375 |
| ab_delta_pitcher_run_exp_avg | 0.032625 |
| ab_bat_speed_avg | 71.14 |
| ab_swing_length_avg | 7.279999999999999 |
| ab_launch_speed_max | 101.2 |
| ab_hit_distance_sc_max | 241.0 |
| ab_release_speed_max | 96.5 |
| ab_release_spin_rate_max | 2522.0 |
| ab_release_speed_min | 81.3 |
| ab_release_spin_rate_min | 2013.0 |
| ab_delta_run_exp_sum | -0.261 |
| ab_delta_home_win_exp_sum | -0.003 |
| ab_delta_pitcher_run_exp_sum | 0.261 |
| 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.215 | 0.000 | 1.000 | Hitting_2B | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 3.730 | 3.000 | 4.000 | Hitting_AB | 3.743 | 4.000 | -0.743 | -1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.241 | 0.250 | -0.241 | -0.250 |
| predicted_BB | 0.366 | 1.000 | 1.000 | Hitting_BB | 0.370 | 0.000 | 0.630 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 0.900 | 1.000 | -0.900 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_OBP | 0.304 | 0.250 | 0.400 | Hitting_OBP | 0.312 | 0.250 | -0.062 | 0.000 |
| predicted_R | 0.484 | 0.000 | 0.000 | Hitting_R | 0.504 | 0.000 | -0.504 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 0.000 | Hitting_RBI | 0.496 | 0.000 | -0.496 | 0.000 |
| predicted_SLG | 0.403 | 0.000 | 0.500 | Hitting_SLG | 0.417 | 0.250 | -0.417 | -0.250 |
| predicted_SO | 1.054 | 0.000 | 1.000 | Hitting_SO | 1.068 | 1.000 | -1.068 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3660 -> 1.0000 (boost 0.6340, better) |
| Biggest Deboost | predicted_SO: 1.0540 -> 0.0000 (deboost -1.0540, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4030 -> 0.3909 (deboost -0.0121, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 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_AB: 3.7283 -> 4.0000 (boost 0.2717, better) | predicted_RBI: 0.4632 -> 0.0000 (deboost -0.4632, worse) | AB rounded to 4 (raw=3.73), rates preserved: AVG=0.237 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4444 -> 0.0000 (deboost -0.4444, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3043 -> 0.3100 (boost 0.0057, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3100 -> 0.3043 (deboost -0.0057, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668904",
"player_name": "Royce Lewis",
"position": "1B",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.215,
"predicted_3B": 0.011,
"predicted_AB": 3.73,
"predicted_AVG": 0.241,
"predicted_BB": 0.366,
"predicted_H": 0.9,
"predicted_HR": 0.13,
"predicted_OBP": 0.304,
"predicted_R": 0.484,
"predicted_RBI": 0.49,
"predicted_SLG": 0.403,
"predicted_SO": 1.054
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2193,
"predicted_3B": 0.0093,
"predicted_AB": 3.7283,
"predicted_AVG": 0.2403,
"predicted_BB": 0.3609,
"predicted_H": 0.8966,
"predicted_HBP": 0.021,
"predicted_HR": 0.112,
"predicted_OBP": 0.3056,
"predicted_R": 0.4553,
"predicted_RBI": 0.4746,
"predicted_SLG": 0.3909,
"predicted_SO": 1.0767
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.2193,
"delta": 0.0043,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0093,
"delta": -0.0017,
"percent_delta": -0.1545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.73,
"after": 3.7283,
"delta": -0.0017,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2403,
"delta": -0.0007,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.366,
"after": 0.3609,
"delta": -0.0051,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.8966,
"delta": -0.0034,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.112,
"delta": -0.018,
"percent_delta": -0.1385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3056,
"delta": 0.0016,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.4553,
"delta": -0.0287,
"percent_delta": -0.0593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4746,
"delta": -0.0154,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3909,
"delta": -0.0121,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.054,
"after": 1.0767,
"delta": 0.0227,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.403,
"after": 0.3909,
"delta": -0.0121,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 93
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2193,
"predicted_3B": 0.0093,
"predicted_AB": 3.7283,
"predicted_AVG": 0.2372,
"predicted_BB": 0.3598,
"predicted_H": 0.8844,
"predicted_HBP": 0.021,
"predicted_HR": 0.1109,
"predicted_OBP": 0.3043,
"predicted_R": 0.4444,
"predicted_RBI": 0.4632,
"predicted_SLG": 0.3903,
"predicted_SO": 1.08
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2193,
"after": 0.2193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7283,
"after": 3.7283,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2403,
"after": 0.2372,
"delta": -0.0031,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3609,
"after": 0.3598,
"delta": -0.0011,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8966,
"after": 0.8844,
"delta": -0.0122,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.112,
"after": 0.1109,
"delta": -0.0011,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3056,
"after": 0.3043,
"delta": -0.0013,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4553,
"after": 0.4444,
"delta": -0.0109,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4746,
"after": 0.4632,
"delta": -0.0114,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3909,
"after": 0.3903,
"delta": -0.0006,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0767,
"after": 1.08,
"delta": 0.0033,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.73), rates preserved: AVG=0.237 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2193,
"after": 0.0,
"delta": -0.2193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0093,
"after": 0.0,
"delta": -0.0093,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7283,
"after": 4.0,
"delta": 0.2717,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3598,
"after": 0.0,
"delta": -0.3598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8844,
"after": 1.0,
"delta": 0.1156,
"percent_delta": 0.1307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1109,
"after": 0.0,
"delta": -0.1109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4632,
"after": 0.0,
"delta": -0.4632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.08,
"after": 1.0,
"delta": -0.08,
"percent_delta": -0.0741,
"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.7283,
"after": 4.0,
"delta": 0.2717,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4632,
"after": 0.0,
"delta": -0.4632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4444,
"after": 0.0,
"delta": -0.4444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4444,
"after": 0.0,
"delta": -0.4444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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": 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.237,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.31,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.39,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2372,
"after": 0.237,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3043,
"after": 0.31,
"delta": 0.0057,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3903,
"after": 0.39,
"delta": -0.0003,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3043,
"after": 0.31,
"delta": 0.0057,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2372,
"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.3043,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3903,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2372,
"delta": 0.0002,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3043,
"delta": -0.0057,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3903,
"delta": 0.0003,
"percent_delta": 0.0007,
"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_OBP",
"before": 0.31,
"after": 0.3043,
"delta": -0.0057,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.0,
"delta": -0.215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.73,
"after": 3.0,
"delta": -0.73,
"percent_delta": -0.1957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2372,
"delta": -0.0038,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.366,
"after": 1.0,
"delta": 0.634,
"percent_delta": 1.7322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3043,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3903,
"delta": -0.0127,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.054,
"after": 0.0,
"delta": -1.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.366,
"after": 1.0,
"delta": 0.634,
"percent_delta": 1.7322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.054,
"after": 0.0,
"delta": -1.054,
"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.215 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.730 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.366 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.484 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 1.054 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.219 | 0.004 |
| predicted_3B | 0.009 | -0.002 |
| predicted_AB | 3.728 | -0.002 |
| predicted_AVG | 0.240 | -0.001 |
| predicted_BB | 0.361 | -0.005 |
| predicted_H | 0.897 | -0.003 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.112 | -0.018 |
| predicted_OBP | 0.306 | 0.002 |
| predicted_R | 0.455 | -0.029 |
| predicted_RBI | 0.475 | -0.015 |
| predicted_SLG | 0.391 | -0.012 |
| predicted_SO | 1.077 | 0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.219 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.728 | 0.000 |
| predicted_AVG | 0.237 | -0.003 |
| predicted_BB | 0.360 | -0.001 |
| predicted_H | 0.884 | -0.012 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.111 | -0.001 |
| predicted_OBP | 0.304 | -0.001 |
| predicted_R | 0.444 | -0.011 |
| predicted_RBI | 0.463 | -0.011 |
| predicted_SLG | 0.390 | -0.001 |
| predicted_SO | 1.080 | 0.003 |
AB rounded to 4 (raw=3.73), rates preserved: AVG=0.237 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.219 |
| predicted_3B | 0.000 | -0.009 |
| predicted_AB | 4.000 | 0.272 |
| predicted_AVG | 0.237 | -0.000 |
| predicted_BB | 0.000 | -0.360 |
| predicted_H | 1.000 | 0.116 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.310 | 0.006 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 0.000 | -0.463 |
| predicted_SLG | 0.390 | -0.000 |
| predicted_SO | 1.000 | -0.080 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 5.000 | 0.2222 | 0.3000 | 0.2778 | 0.2222 | 0.0000 | 0.1111 | 0.1111 | 0.2778 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 3.000 | 0.000 | 0.000 | 4.000 | 4.000 | 3.000 | 15.000 | 0.2500 | 0.3023 | 0.3250 | 0.2500 | 0.0000 | 0.1000 | 0.0750 | 0.3750 |
| season | 0.60 | 93 | - | 341.000 | 82.000 | 20.000 | 1.000 | 13.000 | 45.000 | 45.000 | 34.000 | 98.000 | 0.2405 | 0.3123 | 0.4194 | 0.2405 | 0.0381 | 0.1320 | 0.0997 | 0.2874 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2250 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.7260 |
| predicted_AVG | 0.2394 |
| predicted_BB | 0.3540 |
| predicted_H | 0.8920 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.3077 |
| predicted_R | 0.4170 |
| predicted_RBI | 0.4540 |
| predicted_SLG | 0.3748 |
| predicted_SO | 1.1070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2150 | 0.2250 | 0.2193 | model_form_blend |
| predicted_3B | 0.0110 | 0.0070 | 0.0093 | model_form_blend |
| predicted_AB | 3.7300 | 3.7260 | 3.7283 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2394 | 0.2403 | model_form_blend |
| predicted_BB | 0.3660 | 0.3540 | 0.3609 | model_form_blend |
| predicted_H | 0.9000 | 0.8920 | 0.8966 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.1300 | 0.0880 | 0.1120 | model_form_blend |
| predicted_OBP | 0.3040 | 0.3077 | 0.3056 | model_form_blend |
| predicted_R | 0.4840 | 0.4170 | 0.4553 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4540 | 0.4746 | model_form_blend |
| predicted_SLG | 0.4030 | 0.3748 | 0.3909 | model_form_blend |
| predicted_SO | 1.0540 | 1.1070 | 1.0767 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 381 |
| Season rows before report date | 381 |
| Report year | 2026 |
| Profile rows used | 93 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 668904 |
| playerID | 668904 |
| playerName | Royce Lewis |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.319 |
| sl_xwoba | 0.323 |
| sl_xba | 0.247 |
| sl_xslg | 0.42 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 42.7 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 33.7 |
| sl_swing_percent | 48.5 |
| at_bat_number | 63.0 |
| ab_pitcher | 669276.0 |
| ab_pitcher_name | Lee, Dylan |
| ab_home_team | MIN |
| ab_away_team | ATL |
| 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_on_1b_start | 665019.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Royce Lewis grounds out softly to first baseman Matt Olson. Kody Clemens to 2nd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 33.7 |
| ab_launch_angle_last | -25.0 |
| ab_hit_distance_last | 6.0 |
| ab_estimated_ba_last | 0.326 |
| ab_estimated_woba_last | 0.293 |
| ab_estimated_slg_last | 0.327 |
| 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 | 5.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 81.4 |
| ab_release_spin_rate_avg | 2211.0 |
| ab_effective_speed_avg | 81.75 |
| ab_launch_speed_avg | 33.7 |
| ab_launch_angle_avg | -25.0 |
| ab_delta_run_exp_avg | -0.16 |
| ab_delta_home_win_exp_avg | -0.0065 |
| ab_delta_pitcher_run_exp_avg | 0.16 |
| ab_bat_speed_avg | 72.35 |
| ab_swing_length_avg | 8.8 |
| ab_launch_speed_max | 33.7 |
| ab_hit_distance_sc_max | 6.0 |
| ab_release_speed_max | 82.3 |
| ab_release_spin_rate_max | 2218.0 |
| ab_release_speed_min | 80.5 |
| ab_release_spin_rate_min | 2204.0 |
| ab_delta_run_exp_sum | -0.32 |
| ab_delta_home_win_exp_sum | -0.013 |
| ab_delta_pitcher_run_exp_sum | 0.32 |
| 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.226 | 0.000 | 1.000 | Hitting_2B | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.532 | 4.000 | 4.000 | Hitting_AB | 3.640 | 0.000 | 0.360 | 4.000 |
| predicted_AVG | 0.242 | 0.000 | 0.250 | Hitting_AVG | 0.289 | - | -0.289 | - |
| predicted_BB | 0.548 | 0.000 | 1.000 | Hitting_BB | 0.582 | 1.000 | -0.582 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.380 | 0.000 | 1.000 | Hitting_H | 1.054 | 0.000 | -1.054 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_OBP | 0.363 | 0.000 | 0.400 | Hitting_OBP | 0.390 | 1.000 | -0.390 | -1.000 |
| predicted_R | 0.645 | 0.000 | 1.000 | Hitting_R | 0.682 | 0.000 | -0.682 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 1.000 | Hitting_RBI | 0.728 | 0.000 | -0.728 | 0.000 |
| predicted_SLG | 0.476 | 0.000 | 0.500 | Hitting_SLG | 0.503 | - | -0.503 | - |
| predicted_SO | 0.694 | 0.000 | 1.000 | Hitting_SO | 0.709 | 0.000 | -0.709 | 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.5320 -> 4.0000 (boost 0.4680, better) |
| Biggest Deboost | predicted_SO: 0.6940 -> 0.0000 (deboost -0.6940, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.3800 -> 0.6387 (boost 0.2587, 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.4761 -> 0.3350 (deboost -0.1411, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_RBI: 0.4973 -> 1.0000 (boost 0.5027, better) | predicted_2B: 0.2759 -> 0.0000 (deboost -0.2759, worse) | AB rounded to 4 (raw=3.53), rates preserved: AVG=0.178 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6324 -> 1.0000 (boost 0.3676, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680777",
"player_name": "Ryan Jeffers",
"position": "C",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.226,
"predicted_3B": 0.016,
"predicted_AB": 3.532,
"predicted_AVG": 0.242,
"predicted_BB": 0.548,
"predicted_H": 0.38,
"predicted_HR": 0.07,
"predicted_OBP": 0.363,
"predicted_R": 0.645,
"predicted_RBI": 0.45,
"predicted_SLG": 0.476,
"predicted_SO": 0.694
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2759,
"predicted_3B": 0.0135,
"predicted_AB": 3.5089,
"predicted_AVG": 0.2607,
"predicted_BB": 0.553,
"predicted_H": 0.6387,
"predicted_HBP": 0.02,
"predicted_HR": 0.0817,
"predicted_OBP": 0.3731,
"predicted_R": 0.6479,
"predicted_RBI": 0.5095,
"predicted_SLG": 0.4761,
"predicted_SO": 0.7254
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.2759,
"delta": 0.0499,
"percent_delta": 0.2208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0135,
"delta": -0.0025,
"percent_delta": -0.1563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.532,
"after": 3.5089,
"delta": -0.0231,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2607,
"delta": 0.0187,
"percent_delta": 0.0773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.553,
"delta": 0.005,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 0.6387,
"delta": 0.2587,
"percent_delta": 0.6808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0817,
"delta": 0.0117,
"percent_delta": 0.1671,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3731,
"delta": 0.0101,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.645,
"after": 0.6479,
"delta": 0.0029,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.5095,
"delta": 0.0595,
"percent_delta": 0.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4761,
"delta": 0.0001,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.694,
"after": 0.7254,
"delta": 0.0314,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.38,
"after": 0.6387,
"delta": 0.2587,
"percent_delta": 0.6808,
"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": 62
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2759,
"predicted_3B": 0.0135,
"predicted_AB": 3.5089,
"predicted_AVG": 0.1795,
"predicted_BB": 0.5513,
"predicted_H": 0.63,
"predicted_HBP": 0.02,
"predicted_HR": 0.0809,
"predicted_OBP": 0.2909,
"predicted_R": 0.6324,
"predicted_RBI": 0.4973,
"predicted_SLG": 0.335,
"predicted_SO": 0.7276
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2759,
"after": 0.2759,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5089,
"after": 3.5089,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2607,
"after": 0.1795,
"delta": -0.0812,
"percent_delta": -0.3115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.553,
"after": 0.5513,
"delta": -0.0017,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6387,
"after": 0.63,
"delta": -0.0087,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0817,
"after": 0.0809,
"delta": -0.0008,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3731,
"after": 0.2909,
"delta": -0.0822,
"percent_delta": -0.2203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6479,
"after": 0.6324,
"delta": -0.0155,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5095,
"after": 0.4973,
"delta": -0.0122,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4761,
"after": 0.335,
"delta": -0.1411,
"percent_delta": -0.2964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7254,
"after": 0.7276,
"delta": 0.0022,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4761,
"after": 0.335,
"delta": -0.1411,
"percent_delta": -0.2964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.53), rates preserved: AVG=0.178 HR/AB=0.023",
"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.2759,
"after": 0.0,
"delta": -0.2759,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0,
"delta": -0.0135,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5089,
"after": 4.0,
"delta": 0.4911,
"percent_delta": 0.14,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5513,
"after": 1.0,
"delta": 0.4487,
"percent_delta": 0.8139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0809,
"after": 0.0,
"delta": -0.0809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4973,
"after": 1.0,
"delta": 0.5027,
"percent_delta": 1.0109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7276,
"after": 1.0,
"delta": 0.2724,
"percent_delta": 0.3744,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4973,
"after": 1.0,
"delta": 0.5027,
"percent_delta": 1.0109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2759,
"after": 0.0,
"delta": -0.2759,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.6324,
"after": 1.0,
"delta": 0.3676,
"percent_delta": 0.5813,
"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.6324,
"after": 1.0,
"delta": 0.3676,
"percent_delta": 0.5813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.178,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.294,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1795,
"after": 0.178,
"delta": -0.0015,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2909,
"after": 0.294,
"delta": 0.0031,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.333,
"delta": -0.002,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1795,
"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.2909,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.335,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.178,
"after": 0.1795,
"delta": 0.0015,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2909,
"delta": -0.0031,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.335,
"delta": 0.002,
"percent_delta": 0.0061,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.532,
"after": 4.0,
"delta": 0.468,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.1795,
"delta": -0.0625,
"percent_delta": -0.2583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.0,
"delta": -0.548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"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.363,
"after": 0.2909,
"delta": -0.0721,
"percent_delta": -0.1986,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.645,
"after": 0.0,
"delta": -0.645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.335,
"delta": -0.141,
"percent_delta": -0.2962,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"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.532,
"after": 4.0,
"delta": 0.468,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.532 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.548 | - |
| predicted_H | 0.380 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.645 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.476 | - |
| predicted_SO | 0.694 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.276 | 0.050 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.509 | -0.023 |
| predicted_AVG | 0.261 | 0.019 |
| predicted_BB | 0.553 | 0.005 |
| predicted_H | 0.639 | 0.259 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.082 | 0.012 |
| predicted_OBP | 0.373 | 0.010 |
| predicted_R | 0.648 | 0.003 |
| predicted_RBI | 0.509 | 0.059 |
| predicted_SLG | 0.476 | 0.000 |
| predicted_SO | 0.725 | 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.276 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.509 | 0.000 |
| predicted_AVG | 0.179 | -0.081 |
| predicted_BB | 0.551 | -0.002 |
| predicted_H | 0.630 | -0.009 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.081 | -0.001 |
| predicted_OBP | 0.291 | -0.082 |
| predicted_R | 0.632 | -0.016 |
| predicted_RBI | 0.497 | -0.012 |
| predicted_SLG | 0.335 | -0.141 |
| predicted_SO | 0.728 | 0.002 |
AB rounded to 4 (raw=3.53), rates preserved: AVG=0.178 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.276 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.491 |
| predicted_AVG | 0.178 | -0.002 |
| predicted_BB | 1.000 | 0.449 |
| predicted_H | 1.000 | 0.370 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.294 | 0.003 |
| predicted_R | 1.000 | 0.368 |
| predicted_RBI | 1.000 | 0.503 |
| predicted_SLG | 0.333 | -0.002 |
| predicted_SO | 1.000 | 0.272 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 4.000 | 0.3125 | 0.4211 | 0.5000 | 0.3125 | 0.0000 | 0.1250 | 0.1875 | 0.2500 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 5.000 | 0.000 | 0.000 | 6.000 | 8.000 | 7.000 | 9.000 | 0.2941 | 0.4146 | 0.4412 | 0.2941 | 0.0000 | 0.1765 | 0.2059 | 0.2647 |
| season | 0.60 | 62 | - | 219.000 | 62.000 | 14.000 | 1.000 | 10.000 | 42.000 | 40.000 | 34.000 | 43.000 | 0.2831 | 0.3828 | 0.4932 | 0.2831 | 0.0457 | 0.1918 | 0.1552 | 0.1963 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3450 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.4770 |
| predicted_AVG | 0.2866 |
| predicted_BB | 0.5600 |
| predicted_H | 0.9970 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.3872 |
| predicted_R | 0.6520 |
| predicted_RBI | 0.5920 |
| predicted_SLG | 0.4762 |
| predicted_SO | 0.7690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2260 | 0.3450 | 0.2759 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0135 | model_form_blend |
| predicted_AB | 3.5320 | 3.4770 | 3.5089 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2866 | 0.2607 | model_form_blend |
| predicted_BB | 0.5480 | 0.5600 | 0.5530 | model_form_blend |
| predicted_H | 0.3800 | 0.9970 | 0.6387 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0700 | 0.0980 | 0.0817 | model_form_blend |
| predicted_OBP | 0.3630 | 0.3872 | 0.3731 | model_form_blend |
| predicted_R | 0.6450 | 0.6520 | 0.6479 | model_form_blend |
| predicted_RBI | 0.4500 | 0.5920 | 0.5095 | model_form_blend |
| predicted_SLG | 0.4760 | 0.4762 | 0.4761 | model_form_blend |
| predicted_SO | 0.6940 | 0.7690 | 0.7254 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 261 |
| Season rows before report date | 261 |
| Report year | 2026 |
| Profile rows used | 62 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| 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 | 20260819_ATL@MIN |
| game_type | ph |
| mlbID | 680777 |
| note | Intentionally walked for Larnach in the 7th. |
| playerID | 680777 |
| playerName | Ryan Jeffers |
| pos | C |
| started | False |
| startingPosition | PH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 16.5 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.383 |
| sl_xwoba | 0.36 |
| sl_xba | 0.255 |
| sl_xslg | 0.444 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 41.0 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 16.6 |
| sl_swing_percent | 39.8 |
| at_bat_number | 64.0 |
| ab_pitcher | 669276.0 |
| ab_pitcher_name | Lee, Dylan |
| ab_home_team | MIN |
| ab_away_team | ATL |
| 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_on_2b_start | 665019.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 4.0 |
| ab_event | intent_walk |
| ab_event_description | Dylan Lee intentionally walks Ryan Jeffers. |
| ab_event_type | B |
| ab_woba_value | 0.4 |
| ab_woba_denom | 0.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 | 5.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_delta_home_win_exp_avg | 0.0015 |
| ab_delta_run_exp_sum | 0.0 |
| ab_delta_home_win_exp_sum | 0.006 |
| ab_delta_pitcher_run_exp_sum | 0.0 |
| 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.188 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.010 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 3.287 | 4.000 | 3.000 | Hitting_AB | 3.560 | 3.000 | 0.440 | 1.000 |
| predicted_AVG | 0.232 | 0.250 | 0.333 | Hitting_AVG | 0.290 | 0.000 | -0.040 | 0.250 |
| predicted_BB | 0.376 | 0.000 | 0.000 | Hitting_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.750 | 1.000 | 1.000 | Hitting_H | 1.032 | 0.000 | -0.032 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_OBP | 0.294 | 0.250 | 0.333 | Hitting_OBP | 0.372 | 0.000 | -0.122 | 0.250 |
| predicted_R | 0.495 | 1.000 | 0.000 | Hitting_R | 0.584 | 0.000 | 0.416 | 1.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.501 | 0.000 | -0.501 | 0.000 |
| predicted_SLG | 0.342 | 0.250 | 0.333 | Hitting_SLG | 0.458 | 0.000 | -0.208 | 0.250 |
| predicted_SO | 0.673 | 2.000 | 1.000 | Hitting_SO | 0.700 | 2.000 | 1.300 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.6730 -> 2.0000 (boost 1.3270, worse) |
| Biggest Deboost | predicted_BB: 0.3760 -> 0.0000 (deboost -0.3760, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.2870 -> 3.3611 (boost 0.0741, better) | predicted_R: 0.4950 -> 0.4436 (deboost -0.0514, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2323 -> 0.2270 (deboost -0.0053, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7150 -> 1.0000 (boost 0.2850, worse) | predicted_AB: 3.3611 -> 3.0000 (deboost -0.3611, worse) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.227 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4330 -> 0.0000 (deboost -0.4330, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2977 -> 0.3030 (boost 0.0053, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3030 -> 0.2977 (deboost -0.0053, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663616",
"player_name": "Trevor Larnach",
"position": "LF",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.01,
"predicted_AB": 3.287,
"predicted_AVG": 0.232,
"predicted_BB": 0.376,
"predicted_H": 0.75,
"predicted_HR": 0.07,
"predicted_OBP": 0.294,
"predicted_R": 0.495,
"predicted_RBI": 0.32,
"predicted_SLG": 0.342,
"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.1597,
"predicted_3B": 0.0087,
"predicted_AB": 3.3611,
"predicted_AVG": 0.2323,
"predicted_BB": 0.3392,
"predicted_H": 0.7736,
"predicted_HBP": 0.02,
"predicted_HR": 0.0687,
"predicted_OBP": 0.2937,
"predicted_R": 0.4436,
"predicted_RBI": 0.3209,
"predicted_SLG": 0.3369,
"predicted_SO": 0.7128
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.1597,
"delta": -0.0283,
"percent_delta": -0.1505,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0087,
"delta": -0.0013,
"percent_delta": -0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.287,
"after": 3.3611,
"delta": 0.0741,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2323,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.376,
"after": 0.3392,
"delta": -0.0368,
"percent_delta": -0.0979,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7736,
"delta": 0.0236,
"percent_delta": 0.0315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0687,
"delta": -0.0013,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2937,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.4436,
"delta": -0.0514,
"percent_delta": -0.1038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3209,
"delta": 0.0009,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.3369,
"delta": -0.0051,
"percent_delta": -0.0149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 0.7128,
"delta": 0.0398,
"percent_delta": 0.0591,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.287,
"after": 3.3611,
"delta": 0.0741,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.495,
"after": 0.4436,
"delta": -0.0514,
"percent_delta": -0.1038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 101
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1597,
"predicted_3B": 0.0087,
"predicted_AB": 3.3611,
"predicted_AVG": 0.227,
"predicted_BB": 0.3381,
"predicted_H": 0.7631,
"predicted_HBP": 0.02,
"predicted_HR": 0.068,
"predicted_OBP": 0.2977,
"predicted_R": 0.433,
"predicted_RBI": 0.3132,
"predicted_SLG": 0.3404,
"predicted_SO": 0.715
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1597,
"after": 0.1597,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3611,
"after": 3.3611,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2323,
"after": 0.227,
"delta": -0.0053,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3392,
"after": 0.3381,
"delta": -0.0011,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7736,
"after": 0.7631,
"delta": -0.0105,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0687,
"after": 0.068,
"delta": -0.0007,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2937,
"after": 0.2977,
"delta": 0.004,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4436,
"after": 0.433,
"delta": -0.0106,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3209,
"after": 0.3132,
"delta": -0.0077,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3369,
"after": 0.3404,
"delta": 0.0035,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7128,
"after": 0.715,
"delta": 0.0022,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2323,
"after": 0.227,
"delta": -0.0053,
"percent_delta": -0.0228,
"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.227 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1597,
"after": 0.0,
"delta": -0.1597,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0087,
"after": 0.0,
"delta": -0.0087,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3611,
"after": 3.0,
"delta": -0.3611,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3381,
"after": 0.0,
"delta": -0.3381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7631,
"after": 1.0,
"delta": 0.2369,
"percent_delta": 0.3104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3132,
"after": 0.0,
"delta": -0.3132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.715,
"after": 1.0,
"delta": 0.285,
"percent_delta": 0.3986,
"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.715,
"after": 1.0,
"delta": 0.285,
"percent_delta": 0.3986,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3611,
"after": 3.0,
"delta": -0.3611,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.433,
"after": 0.0,
"delta": -0.433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.433,
"after": 0.0,
"delta": -0.433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.227,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.303,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.34,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2977,
"after": 0.303,
"delta": 0.0053,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3404,
"after": 0.34,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2977,
"after": 0.303,
"delta": 0.0053,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 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.227,
"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.2977,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3404,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.227,
"delta": 0.0,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2977,
"delta": -0.0053,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.34,
"after": 0.3404,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2977,
"delta": -0.0053,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.287,
"after": 4.0,
"delta": 0.713,
"percent_delta": 0.2169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.227,
"delta": -0.005,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.376,
"after": 0.0,
"delta": -0.376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2977,
"delta": 0.0037,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 1.0,
"delta": 0.505,
"percent_delta": 1.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.342,
"after": 0.3404,
"delta": -0.0016,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 2.0,
"delta": 1.327,
"percent_delta": 1.9718,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.673,
"after": 2.0,
"delta": 1.327,
"percent_delta": 1.9718,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.376,
"after": 0.0,
"delta": -0.376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | - |
| predicted_3B | 0.010 | - |
| predicted_AB | 3.287 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.376 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.495 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.342 | - |
| 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.160 | -0.028 |
| predicted_3B | 0.009 | -0.001 |
| predicted_AB | 3.361 | 0.074 |
| predicted_AVG | 0.232 | 0.000 |
| predicted_BB | 0.339 | -0.037 |
| predicted_H | 0.774 | 0.024 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.069 | -0.001 |
| predicted_OBP | 0.294 | -0.000 |
| predicted_R | 0.444 | -0.051 |
| predicted_RBI | 0.321 | 0.001 |
| predicted_SLG | 0.337 | -0.005 |
| predicted_SO | 0.713 | 0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.000 |
| predicted_3B | 0.009 | 0.000 |
| predicted_AB | 3.361 | 0.000 |
| predicted_AVG | 0.227 | -0.005 |
| predicted_BB | 0.338 | -0.001 |
| predicted_H | 0.763 | -0.010 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.068 | -0.001 |
| predicted_OBP | 0.298 | 0.004 |
| predicted_R | 0.433 | -0.011 |
| predicted_RBI | 0.313 | -0.008 |
| predicted_SLG | 0.340 | 0.004 |
| predicted_SO | 0.715 | 0.002 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.227 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.009 |
| predicted_AB | 3.000 | -0.361 |
| predicted_AVG | 0.227 | 0.000 |
| predicted_BB | 0.000 | -0.338 |
| predicted_H | 1.000 | 0.237 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.303 | 0.005 |
| predicted_R | 0.000 | -0.433 |
| predicted_RBI | 0.000 | -0.313 |
| predicted_SLG | 0.340 | -0.000 |
| predicted_SO | 1.000 | 0.285 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 5.000 | 0.2105 | 0.2500 | 0.2105 | 0.2105 | 0.0000 | 0.0526 | 0.0526 | 0.2632 |
| last_10 | 0.20 | 10 | - | 35.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 8.000 | 0.1429 | 0.1667 | 0.1429 | 0.1429 | 0.0000 | 0.0286 | 0.0286 | 0.2286 |
| season | 0.60 | 101 | - | 332.000 | 89.000 | 19.000 | 1.000 | 10.000 | 41.000 | 50.000 | 38.000 | 68.000 | 0.2681 | 0.3485 | 0.4217 | 0.2681 | 0.0301 | 0.1235 | 0.1145 | 0.2048 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.4600 |
| predicted_AVG | 0.2328 |
| predicted_BB | 0.2900 |
| predicted_H | 0.8050 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0670 |
| predicted_OBP | 0.2934 |
| predicted_R | 0.3750 |
| predicted_RBI | 0.3220 |
| predicted_SLG | 0.3300 |
| predicted_SO | 0.7660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1220 | 0.1597 | model_form_blend |
| predicted_3B | 0.0100 | 0.0070 | 0.0087 | model_form_blend |
| predicted_AB | 3.2870 | 3.4600 | 3.3611 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2328 | 0.2323 | model_form_blend |
| predicted_BB | 0.3760 | 0.2900 | 0.3392 | model_form_blend |
| predicted_H | 0.7500 | 0.8050 | 0.7736 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0700 | 0.0670 | 0.0687 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2934 | 0.2937 | model_form_blend |
| predicted_R | 0.4950 | 0.3750 | 0.4436 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3220 | 0.3209 | model_form_blend |
| predicted_SLG | 0.3420 | 0.3300 | 0.3369 | model_form_blend |
| predicted_SO | 0.6730 | 0.7660 | 0.7128 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 377 |
| Season rows before report date | 377 |
| Report year | 2026 |
| Profile rows used | 101 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 663616 |
| playerID | 663616 |
| playerName | Trevor Larnach |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.343 |
| sl_xwoba | 0.332 |
| sl_xba | 0.261 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 37.0 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 44.0 |
| at_bat_number | 44.0 |
| ab_pitcher | 689266.0 |
| ab_pitcher_name | Dodd, Dylan |
| ab_home_team | MIN |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 5.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 665019.0 |
| ab_on_3b_start | 605137.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 1.0 |
| ab_event | strikeout |
| ab_event_description | Trevor Larnach strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 59.5 |
| ab_launch_angle_last | 53.0 |
| ab_hit_distance_last | 151.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 | 4.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 92.71666666666664 |
| ab_release_spin_rate_avg | 2221.333333333333 |
| ab_effective_speed_avg | 92.85 |
| ab_launch_speed_avg | 59.1 |
| ab_launch_angle_avg | 54.5 |
| ab_delta_run_exp_avg | -0.0446666666666666 |
| ab_delta_home_win_exp_avg | -0.004 |
| ab_delta_pitcher_run_exp_avg | 0.0446666666666666 |
| ab_bat_speed_avg | 71.56666666666666 |
| ab_swing_length_avg | 6.8 |
| ab_launch_speed_max | 59.5 |
| ab_hit_distance_sc_max | 151.0 |
| ab_release_speed_max | 93.7 |
| ab_release_spin_rate_max | 2343.0 |
| ab_release_speed_min | 89.0 |
| ab_release_spin_rate_min | 2123.0 |
| ab_delta_run_exp_sum | -0.268 |
| ab_delta_home_win_exp_sum | -0.024 |
| ab_delta_pitcher_run_exp_sum | 0.268 |
| 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.160 | 0.000 | 0.000 | Hitting_2B | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.190 | 4.000 | 4.000 | Hitting_AB | 3.858 | 4.000 | 0.142 | 0.000 |
| predicted_AVG | 0.264 | 0.000 | 0.250 | Hitting_AVG | 0.248 | 0.250 | -0.248 | -0.250 |
| predicted_BB | 0.269 | 0.000 | 0.000 | Hitting_BB | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 1.110 | 0.000 | 1.000 | Hitting_H | 0.957 | 1.000 | -0.957 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.304 | 0.000 | 0.250 | Hitting_OBP | 0.304 | 0.250 | -0.304 | -0.250 |
| predicted_R | 0.454 | 0.000 | 0.000 | Hitting_R | 0.493 | 0.000 | -0.493 | 0.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.572 | 1.000 | -0.572 | -1.000 |
| predicted_SLG | 0.435 | 0.000 | 0.250 | Hitting_SLG | 0.428 | 0.250 | -0.428 | -0.250 |
| predicted_SO | 0.672 | 1.000 | 1.000 | Hitting_SO | 0.675 | 0.000 | 0.325 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.6720 -> 1.0000 (boost 0.3280, worse) |
| Biggest Deboost | predicted_H: 1.1100 -> 0.0000 (deboost -1.1100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.1900 -> 4.0107 (deboost -0.1793, worse) | Final model input calibrated with local 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.4330 -> 0.4169 (deboost -0.0161, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.6297 -> 1.0000 (boost 0.3703, better) | predicted_BB: 0.2319 -> 0.0000 (deboost -0.2319, worse) | AB rounded to 4 (raw=4.19), rates preserved: AVG=0.245 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4110 -> 0.0000 (deboost -0.4110, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4169 -> 0.3990 (deboost -0.0179, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3990 -> 0.4169 (boost 0.0179, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686797",
"player_name": "Brooks Lee",
"position": "3B",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.025,
"predicted_AB": 4.19,
"predicted_AVG": 0.264,
"predicted_BB": 0.269,
"predicted_H": 1.11,
"predicted_HR": 0.14,
"predicted_OBP": 0.304,
"predicted_R": 0.454,
"predicted_RBI": 0.63,
"predicted_SLG": 0.435,
"predicted_SO": 0.672
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.0207,
"predicted_AB": 4.0107,
"predicted_AVG": 0.2588,
"predicted_BB": 0.2326,
"predicted_H": 1.0416,
"predicted_HBP": 0.074,
"predicted_HR": 0.1526,
"predicted_OBP": 0.3022,
"predicted_R": 0.4211,
"predicted_RBI": 0.6452,
"predicted_SLG": 0.433,
"predicted_SO": 0.682
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.15,
"delta": -0.01,
"percent_delta": -0.0625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0207,
"delta": -0.0043,
"percent_delta": -0.172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.19,
"after": 4.0107,
"delta": -0.1793,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2588,
"delta": -0.0052,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 0.2326,
"delta": -0.0364,
"percent_delta": -0.1353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0416,
"delta": -0.0684,
"percent_delta": -0.0616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1526,
"delta": 0.0126,
"percent_delta": 0.09,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3022,
"delta": -0.0018,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.454,
"after": 0.4211,
"delta": -0.0329,
"percent_delta": -0.0725,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.6452,
"delta": 0.0152,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.433,
"delta": -0.002,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.672,
"after": 0.682,
"delta": 0.01,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.19,
"after": 4.0107,
"delta": -0.1793,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.15,
"predicted_3B": 0.0207,
"predicted_AB": 4.0107,
"predicted_AVG": 0.2562,
"predicted_BB": 0.2319,
"predicted_H": 1.0274,
"predicted_HBP": 0.074,
"predicted_HR": 0.1511,
"predicted_OBP": 0.2968,
"predicted_R": 0.411,
"predicted_RBI": 0.6297,
"predicted_SLG": 0.4169,
"predicted_SO": 0.6841
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.15,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0107,
"after": 4.0107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2588,
"after": 0.2562,
"delta": -0.0026,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2326,
"after": 0.2319,
"delta": -0.0007,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0416,
"after": 1.0274,
"delta": -0.0142,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.074,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1526,
"after": 0.1511,
"delta": -0.0015,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3022,
"after": 0.2968,
"delta": -0.0054,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4211,
"after": 0.411,
"delta": -0.0101,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6452,
"after": 0.6297,
"delta": -0.0155,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4169,
"delta": -0.0161,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 0.6841,
"delta": 0.0021,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4169,
"delta": -0.0161,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.19), rates preserved: AVG=0.245 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0,
"delta": -0.0207,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0107,
"after": 4.0,
"delta": -0.0107,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2319,
"after": 0.0,
"delta": -0.2319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0274,
"after": 1.0,
"delta": -0.0274,
"percent_delta": -0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1511,
"after": 0.0,
"delta": -0.1511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6297,
"after": 1.0,
"delta": 0.3703,
"percent_delta": 0.5881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6841,
"after": 1.0,
"delta": 0.3159,
"percent_delta": 0.4618,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6297,
"after": 1.0,
"delta": 0.3703,
"percent_delta": 0.5881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2319,
"after": 0.0,
"delta": -0.2319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.411,
"after": 0.0,
"delta": -0.411,
"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.411,
"after": 0.0,
"delta": -0.411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"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": {},
"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.245,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.399,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2562,
"after": 0.245,
"delta": -0.0112,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2968,
"after": 0.29,
"delta": -0.0068,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"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.4169,
"after": 0.399,
"delta": -0.0179,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4169,
"after": 0.399,
"delta": -0.0179,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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": 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.2562,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2968,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4169,
"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.245,
"after": 0.2562,
"delta": 0.0112,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2968,
"delta": 0.0068,
"percent_delta": 0.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.4169,
"delta": 0.0179,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.399,
"after": 0.4169,
"delta": 0.0179,
"percent_delta": 0.0449,
"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.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.19,
"after": 4.0,
"delta": -0.19,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2562,
"delta": -0.0078,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"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.304,
"after": 0.2968,
"delta": -0.0072,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.454,
"after": 0.0,
"delta": -0.454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4169,
"delta": -0.0181,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.672,
"after": 1.0,
"delta": 0.328,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.672,
"after": 1.0,
"delta": 0.328,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.11,
"after": 0.0,
"delta": -1.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.025 | - |
| predicted_AB | 4.190 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.269 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.454 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 0.672 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | -0.010 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 4.011 | -0.179 |
| predicted_AVG | 0.259 | -0.005 |
| predicted_BB | 0.233 | -0.036 |
| predicted_H | 1.042 | -0.068 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.153 | 0.013 |
| predicted_OBP | 0.302 | -0.002 |
| predicted_R | 0.421 | -0.033 |
| predicted_RBI | 0.645 | 0.015 |
| predicted_SLG | 0.433 | -0.002 |
| predicted_SO | 0.682 | 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.150 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 4.011 | 0.000 |
| predicted_AVG | 0.256 | -0.003 |
| predicted_BB | 0.232 | -0.001 |
| predicted_H | 1.027 | -0.014 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.151 | -0.002 |
| predicted_OBP | 0.297 | -0.005 |
| predicted_R | 0.411 | -0.010 |
| predicted_RBI | 0.630 | -0.015 |
| predicted_SLG | 0.417 | -0.016 |
| predicted_SO | 0.684 | 0.002 |
AB rounded to 4 (raw=4.19), rates preserved: AVG=0.245 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.021 |
| predicted_AB | 4.000 | -0.011 |
| predicted_AVG | 0.245 | -0.011 |
| predicted_BB | 0.000 | -0.232 |
| predicted_H | 1.000 | -0.027 |
| predicted_HR | 0.000 | -0.151 |
| predicted_OBP | 0.290 | -0.007 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 1.000 | 0.370 |
| predicted_SLG | 0.399 | -0.018 |
| predicted_SO | 1.000 | 0.316 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 0.000 | 0.000 | 1.000 | 5.000 | 1.000 | 0.000 | 4.000 | 0.2222 | 0.2632 | 0.3889 | 0.2222 | 0.0556 | 0.2778 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 2.000 | 0.000 | 2.000 | 7.000 | 3.000 | 1.000 | 6.000 | 0.3077 | 0.3415 | 0.5128 | 0.3077 | 0.0513 | 0.1795 | 0.0256 | 0.1538 |
| season | 0.60 | 119 | - | 451.000 | 110.000 | 19.000 | 3.000 | 18.000 | 66.000 | 54.000 | 32.000 | 80.000 | 0.2439 | 0.2977 | 0.4191 | 0.2439 | 0.0399 | 0.1463 | 0.0709 | 0.1774 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1370 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.7760 |
| predicted_AVG | 0.2521 |
| predicted_BB | 0.1850 |
| predicted_H | 0.9520 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.1690 |
| predicted_OBP | 0.2999 |
| predicted_R | 0.3780 |
| predicted_RBI | 0.6650 |
| predicted_SLG | 0.4304 |
| predicted_SO | 0.6950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1370 | 0.1500 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0207 | model_form_blend |
| predicted_AB | 4.1900 | 3.7760 | 4.0107 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2521 | 0.2588 | model_form_blend |
| predicted_BB | 0.2690 | 0.1850 | 0.2326 | model_form_blend |
| predicted_H | 1.1100 | 0.9520 | 1.0416 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.1400 | 0.1690 | 0.1526 | model_form_blend |
| predicted_OBP | 0.3040 | 0.2999 | 0.3022 | model_form_blend |
| predicted_R | 0.4540 | 0.3780 | 0.4211 | model_form_blend |
| predicted_RBI | 0.6300 | 0.6650 | 0.6452 | model_form_blend |
| predicted_SLG | 0.4350 | 0.4304 | 0.4330 | model_form_blend |
| predicted_SO | 0.6720 | 0.6950 | 0.6820 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 493 |
| Season rows before report date | 493 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 686797 |
| playerID | 686797 |
| playerName | Brooks Lee |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.314 |
| sl_xwoba | 0.271 |
| sl_xba | 0.224 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 32.2 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 52.8 |
| at_bat_number | 65.0 |
| ab_pitcher | 669276.0 |
| ab_pitcher_name | Lee, Dylan |
| ab_home_team | MIN |
| ab_away_team | ATL |
| 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_on_1b_start | 668952.0 |
| ab_on_2b_start | 665019.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 4.0 |
| ab_event | single |
| ab_event_description | Brooks Lee singles on a sharp ground ball to center fielder Michael Harris II. Kody Clemens scores. Ryan Kreidler to 2nd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 102.6 |
| ab_launch_angle_last | 7.0 |
| ab_hit_distance_last | 122.0 |
| ab_estimated_ba_last | 0.637 |
| ab_estimated_woba_last | 0.591 |
| ab_estimated_slg_last | 0.716 |
| 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 | 2.0 |
| ab_home_score_end | 6.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 81.76666666666667 |
| ab_release_spin_rate_avg | 2119.6666666666665 |
| ab_effective_speed_avg | 81.26666666666667 |
| ab_launch_speed_avg | 102.6 |
| ab_launch_angle_avg | 7.0 |
| ab_delta_run_exp_avg | 0.184 |
| ab_delta_home_win_exp_avg | 0.0333333333333333 |
| ab_delta_pitcher_run_exp_avg | -0.184 |
| ab_bat_speed_avg | 70.44999999999999 |
| ab_swing_length_avg | 7.399999999999999 |
| ab_launch_speed_max | 102.6 |
| ab_hit_distance_sc_max | 122.0 |
| ab_release_speed_max | 82.9 |
| ab_release_spin_rate_max | 2171.0 |
| ab_release_speed_min | 81.0 |
| ab_release_spin_rate_min | 2092.0 |
| ab_delta_run_exp_sum | 0.552 |
| ab_delta_home_win_exp_sum | 0.1 |
| ab_delta_pitcher_run_exp_sum | -0.552 |
| 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.100 | 0.000 | 0.000 | Hitting_2B | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.840 | 4.000 | 4.000 | Hitting_AB | 3.525 | 4.000 | 0.475 | 0.000 |
| predicted_AVG | 0.346 | 0.500 | 0.250 | Hitting_AVG | 0.305 | 0.750 | 0.195 | -0.250 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.330 | 2.000 | 1.000 | Hitting_H | 1.075 | 3.000 | 0.925 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_OBP | 0.381 | 0.500 | 0.250 | Hitting_OBP | 0.364 | 0.750 | 0.136 | -0.250 |
| predicted_R | 0.400 | 1.000 | 0.000 | Hitting_R | 0.375 | 1.000 | 0.625 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.225 | 0.000 | -0.225 | 0.000 |
| predicted_SLG | 0.466 | 0.500 | 0.250 | Hitting_SLG | 0.418 | 0.750 | 0.082 | -0.250 |
| predicted_SO | 1.100 | 0.000 | 1.000 | Hitting_SO | 1.200 | 0.000 | -1.200 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 1.3300 -> 2.0000 (boost 0.6700, better) |
| Biggest Deboost | predicted_SO: 1.1000 -> 0.0000 (deboost -1.1000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 1 | 3 | - | predicted_SO: 1.1000 -> 1.0198 (deboost -0.0802, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4576 -> 0.4367 (deboost -0.0209, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 1 | 6 | predicted_AB: 3.7809 -> 4.0000 (boost 0.2191, better) | predicted_RBI: 0.2795 -> 0.0000 (deboost -0.2795, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.329 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4034 -> 0.0000 (deboost -0.4034, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.3345 -> 0.3290 (deboost -0.0055, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.3290 -> 0.3345 (boost 0.0055, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701785",
"player_name": "Kaelen Culpepper",
"position": "SS",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.1,
"predicted_3B": 0.0,
"predicted_AB": 3.84,
"predicted_AVG": 0.346,
"predicted_BB": 0.2,
"predicted_H": 1.33,
"predicted_HR": 0.09,
"predicted_OBP": 0.381,
"predicted_R": 0.4,
"predicted_RBI": 0.3,
"predicted_SLG": 0.466,
"predicted_SO": 1.1
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1201,
"predicted_3B": 0.0019,
"predicted_AB": 3.7809,
"predicted_AVG": 0.3385,
"predicted_BB": 0.2088,
"predicted_H": 1.282,
"predicted_HBP": 0.073,
"predicted_HR": 0.0884,
"predicted_OBP": 0.3785,
"predicted_R": 0.4133,
"predicted_RBI": 0.2864,
"predicted_SLG": 0.4576,
"predicted_SO": 1.0198
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1,
"after": 0.1201,
"delta": 0.0201,
"percent_delta": 0.201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7809,
"delta": -0.0591,
"percent_delta": -0.0154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.346,
"after": 0.3385,
"delta": -0.0075,
"percent_delta": -0.0217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2088,
"delta": 0.0088,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.33,
"after": 1.282,
"delta": -0.048,
"percent_delta": -0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0884,
"delta": -0.0016,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3785,
"delta": -0.0025,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4133,
"delta": 0.0133,
"percent_delta": 0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.2864,
"delta": -0.0136,
"percent_delta": -0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4576,
"delta": -0.0084,
"percent_delta": -0.018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1,
"after": 1.0198,
"delta": -0.0802,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.1,
"after": 1.0198,
"delta": -0.0802,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 10
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1201,
"predicted_3B": 0.0019,
"predicted_AB": 3.7809,
"predicted_AVG": 0.3345,
"predicted_BB": 0.2082,
"predicted_H": 1.2646,
"predicted_HBP": 0.073,
"predicted_HR": 0.0875,
"predicted_OBP": 0.3692,
"predicted_R": 0.4034,
"predicted_RBI": 0.2795,
"predicted_SLG": 0.4367,
"predicted_SO": 1.023
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1201,
"after": 0.1201,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7809,
"after": 3.7809,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3385,
"after": 0.3345,
"delta": -0.004,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2088,
"after": 0.2082,
"delta": -0.0006,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.282,
"after": 1.2646,
"delta": -0.0174,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0884,
"after": 0.0875,
"delta": -0.0009,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3785,
"after": 0.3692,
"delta": -0.0093,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4133,
"after": 0.4034,
"delta": -0.0099,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2864,
"after": 0.2795,
"delta": -0.0069,
"percent_delta": -0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4576,
"after": 0.4367,
"delta": -0.0209,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0198,
"after": 1.023,
"delta": 0.0032,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4576,
"after": 0.4367,
"delta": -0.0209,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.329 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1201,
"after": 0.0,
"delta": -0.1201,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0,
"delta": -0.0019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7809,
"after": 4.0,
"delta": 0.2191,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2082,
"after": 0.0,
"delta": -0.2082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2646,
"after": 1.0,
"delta": -0.2646,
"percent_delta": -0.2092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0875,
"after": 0.0,
"delta": -0.0875,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2795,
"after": 0.0,
"delta": -0.2795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.023,
"after": 1.0,
"delta": -0.023,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7809,
"after": 4.0,
"delta": 0.2191,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2795,
"after": 0.0,
"delta": -0.2795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4034,
"after": 0.0,
"delta": -0.4034,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4034,
"after": 0.0,
"delta": -0.4034,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.329,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.369,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.437,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3345,
"after": 0.329,
"delta": -0.0055,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3692,
"after": 0.369,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4367,
"after": 0.437,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3345,
"after": 0.329,
"delta": -0.0055,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.3345,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3692,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4367,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.329,
"after": 0.3345,
"delta": 0.0055,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.369,
"after": 0.3692,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4367,
"delta": -0.0003,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.329,
"after": 0.3345,
"delta": 0.0055,
"percent_delta": 0.0166,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.346,
"after": 0.3345,
"delta": -0.0115,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.33,
"after": 2.0,
"delta": 0.67,
"percent_delta": 0.5038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.381,
"after": 0.3692,
"delta": -0.0118,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4367,
"delta": -0.0293,
"percent_delta": -0.0629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.33,
"after": 2.0,
"delta": 0.67,
"percent_delta": 0.5038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.100 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.346 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 1.330 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.381 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.466 | - |
| predicted_SO | 1.100 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | 0.020 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.781 | -0.059 |
| predicted_AVG | 0.339 | -0.007 |
| predicted_BB | 0.209 | 0.009 |
| predicted_H | 1.282 | -0.048 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.088 | -0.002 |
| predicted_OBP | 0.379 | -0.003 |
| predicted_R | 0.413 | 0.013 |
| predicted_RBI | 0.286 | -0.014 |
| predicted_SLG | 0.458 | -0.008 |
| predicted_SO | 1.020 | -0.080 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.781 | 0.000 |
| predicted_AVG | 0.335 | -0.004 |
| predicted_BB | 0.208 | -0.001 |
| predicted_H | 1.265 | -0.017 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.087 | -0.001 |
| predicted_OBP | 0.369 | -0.009 |
| predicted_R | 0.403 | -0.010 |
| predicted_RBI | 0.280 | -0.007 |
| predicted_SLG | 0.437 | -0.021 |
| predicted_SO | 1.023 | 0.003 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.329 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.120 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.219 |
| predicted_AVG | 0.329 | -0.006 |
| predicted_BB | 0.000 | -0.208 |
| predicted_H | 1.000 | -0.265 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.369 | -0.000 |
| predicted_R | 0.000 | -0.403 |
| predicted_RBI | 0.000 | -0.280 |
| predicted_SLG | 0.437 | 0.000 |
| predicted_SO | 1.000 | -0.023 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 8.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 0.4444 | 0.4737 | 0.5000 | 0.4444 | 0.0000 | 0.0000 | 0.0556 | 0.1667 |
| last_10 | 0.20 | 10 | - | 35.000 | 11.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 11.000 | 0.3143 | 0.3750 | 0.4286 | 0.3143 | 0.0286 | 0.0571 | 0.0571 | 0.3143 |
| season | 0.60 | 10 | - | 35.000 | 11.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 11.000 | 0.3143 | 0.3750 | 0.4286 | 0.3143 | 0.0286 | 0.0571 | 0.0571 | 0.3143 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.6580 |
| predicted_AVG | 0.3230 |
| predicted_BB | 0.2270 |
| predicted_H | 1.1820 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.0850 |
| predicted_OBP | 0.3733 |
| predicted_R | 0.4410 |
| predicted_RBI | 0.2580 |
| predicted_SLG | 0.4401 |
| predicted_SO | 0.8530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1000 | 0.1620 | 0.1201 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 3.8400 | 3.6580 | 3.7809 | model_form_blend |
| predicted_AVG | 0.3460 | 0.3230 | 0.3385 | model_form_blend |
| predicted_BB | 0.2000 | 0.2270 | 0.2088 | model_form_blend |
| predicted_H | 1.3300 | 1.1820 | 1.2820 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.0900 | 0.0850 | 0.0884 | model_form_blend |
| predicted_OBP | 0.3810 | 0.3733 | 0.3785 | model_form_blend |
| predicted_R | 0.4000 | 0.4410 | 0.4133 | model_form_blend |
| predicted_RBI | 0.3000 | 0.2580 | 0.2864 | model_form_blend |
| predicted_SLG | 0.4660 | 0.4401 | 0.4576 | model_form_blend |
| predicted_SO | 1.1000 | 0.8530 | 1.0198 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 10 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 701785 |
| playerID | 701785 |
| playerName | Kaelen Culpepper |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 27.5 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.354 |
| sl_xwoba | 0.325 |
| sl_xba | 0.271 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 44.0 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 44.0 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 17.8 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 49.7 |
| at_bat_number | 71.0 |
| ab_pitcher | 678061.0 |
| ab_pitcher_name | Kerr, Ray |
| ab_home_team | MIN |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| 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 | 6.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Kaelen Culpepper grounds out, second baseman Ozzie Albies to first baseman Matt Olson. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 91.4 |
| ab_launch_angle_last | -8.0 |
| ab_hit_distance_last | 13.0 |
| ab_estimated_ba_last | 0.179 |
| ab_estimated_woba_last | 0.162 |
| ab_estimated_slg_last | 0.198 |
| 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 | 6.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 86.56666666666666 |
| ab_release_spin_rate_avg | 2010.0 |
| ab_effective_speed_avg | 87.23333333333333 |
| ab_launch_speed_avg | 91.4 |
| ab_launch_angle_avg | -8.0 |
| ab_delta_run_exp_avg | -0.0866666666666666 |
| ab_delta_home_win_exp_avg | -0.002 |
| ab_delta_pitcher_run_exp_avg | 0.0866666666666666 |
| ab_bat_speed_avg | 60.7 |
| ab_swing_length_avg | 7.0 |
| ab_launch_speed_max | 91.4 |
| ab_hit_distance_sc_max | 13.0 |
| ab_release_speed_max | 96.5 |
| ab_release_spin_rate_max | 2238.0 |
| ab_release_speed_min | 81.6 |
| ab_release_spin_rate_min | 1811.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.006 |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 2.118 | 4.000 | 0.882 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 3.059 | 8.000 | -1.059 | -6.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 5.000 | 8.000 | -1.000 | -4.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.088 | 5.000 | -0.088 | 0.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.529 | 6.000 | -0.529 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 5.0000 (deboost -0.3333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.0000 (deboost -0.3333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687570",
"player_name": "Connor Prielipp",
"position": "Starter",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 2.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | -0.333 |
| predicted_SO | 5.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 26.000 | 18.000 | 23.000 | 13.000 | 29.000 | 6.000 | 6.2308 | 1.3846 | 0.6923 | 0.8846 | 0.5000 | 1.1154 | 0.2308 |
| last_10 | 0.35 | 10 | 54.100 | 33.000 | 55.000 | 21.000 | 59.000 | 8.000 | 5.4663 | 1.3988 | 0.6074 | 1.0123 | 0.3865 | 1.0859 | 0.1472 |
| season | 0.20 | 17 | 87.200 | 52.000 | 85.000 | 36.000 | 94.000 | 12.000 | 5.3384 | 1.3802 | 0.5932 | 0.9696 | 0.4107 | 1.0722 | 0.1369 |
| Metric | Value |
|---|---|
| predicted_BB | 2.2450 |
| predicted_ER | 3.2250 |
| predicted_ERA | 5.4951 |
| predicted_H | 5.0290 |
| predicted_HR | 0.9230 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.6180 |
| predicted_WHIP | 1.3773 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.2450 | 2.5818 | model_form_blend |
| predicted_ER | 2.0000 | 3.2250 | 2.6786 | model_form_blend |
| predicted_ERA | - | 5.4951 | 5.4951 | form_only |
| predicted_H | 4.0000 | 5.0290 | 4.5700 | model_form_blend |
| predicted_HR | 0.0000 | 0.9230 | 0.5113 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 5.0000 | 5.6180 | 5.3424 | model_form_blend |
| predicted_WHIP | - | 1.3773 | 1.3773 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 4 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 5 |
| HR | 0 |
| BF | 22 |
| Pitches | 89 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 8 |
| Pitching_ERA | 5.34 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 4 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 94 |
| Pitching_R | 8 |
| Pitching_SO | 6 |
| Pitching_Strikes | 58 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260815_PHI@MIN |
| game_type | full |
| mlbID | 687570 |
| playerID | 687570 |
| playerName | Connor Prielipp |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-15 |
| game_pk | 823671.0 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.332 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 41.1 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 47.1 |
| sv_pitch_count | 94.0 |
| sv_outs_recorded_est | 14.0 |
| sv_release_speed | 90.93404255319147 |
| sv_release_spin_rate | 2737.159574468085 |
| sv_effective_speed | 90.43829787234044 |
| sv_launch_speed | 80.66071428571429 |
| sv_launch_angle | 17.357142857142858 |
| sv_woba_value | 11.8 |
| sv_woba_denom | 26.0 |
| sv_delta_run_exp | 2.865 |
| sv_delta_home_win_exp | -0.256 |
| sl_avg_best_speed | 80.553456529 |
| sl_avg_hyper_speed | 94.254272448 |
| 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.449 | 0.000 | -0.449 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.449 | 0.000 | 1.551 | 2.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 1.122 | 0.000 | 2.878 | 4.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.063 | 1.000 | 0.037 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.143 | 1.000 | -1.143 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 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": "702193",
"player_name": "Andrew Morris",
"position": "Setup Man",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 5.000 | 4.000 | 4.000 | 0.000 | 5.7857 | 1.9286 | 0.6429 | 1.0714 | 0.8571 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 8.000 | 6.000 | 5.000 | 0.000 | 3.8571 | 1.5000 | 0.4286 | 0.8571 | 0.6429 | 0.5357 | 0.0000 |
| season | 0.20 | 49 | 59.100 | 22.000 | 55.000 | 22.000 | 56.000 | 3.000 | 3.3371 | 1.2978 | 0.3708 | 0.9270 | 0.3708 | 0.9438 | 0.0506 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6180 |
| predicted_ER | 0.5340 |
| predicted_ERA | 4.5883 |
| predicted_H | 1.0140 |
| predicted_HR | 0.0530 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8570 |
| predicted_WHIP | 1.5596 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6180 | 0.3244 | model_form_blend |
| predicted_ER | 2.0000 | 0.5340 | 1.2304 | model_form_blend |
| predicted_ERA | - | 4.5883 | 4.5883 | form_only |
| predicted_H | 4.0000 | 1.0140 | 2.4325 | model_form_blend |
| predicted_HR | 1.0000 | 0.0530 | 0.5029 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8570 | 0.4499 | model_form_blend |
| predicted_WHIP | - | 1.5596 | 1.5596 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 49 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 4 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 8 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.34 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260818_ATL@MIN |
| game_type | full |
| mlbID | 702193 |
| playerID | 702193 |
| playerName | Andrew Morris |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-18 |
| game_pk | 823667.0 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.285 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 33.1 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 47.0 |
| sv_pitch_count | 13.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 96.66153846153846 |
| sv_release_spin_rate | 2286.6153846153848 |
| sv_effective_speed | 97.23076923076924 |
| sv_launch_speed | 85.03333333333333 |
| sv_launch_angle | -1.0 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.782 |
| sv_delta_home_win_exp | 0.097 |
| sl_avg_best_speed | 75.031198118 |
| sl_avg_hyper_speed | 93.077609941 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.182 | 0.000 | -0.182 | 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 | 0.791 | 1.000 | 0.309 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.886 | 1.000 | 0.114 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "672782",
"player_name": "Yoendrys Gómez",
"position": "Closer",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 1.000 | 3.000 | 3.000 | 3.000 | 1.000 | 2.0769 | 1.3846 | 0.2308 | 0.6923 | 0.6923 | 0.6923 | 0.2308 |
| last_10 | 0.35 | 10 | 8.200 | 2.000 | 8.000 | 6.000 | 9.000 | 1.000 | 2.0769 | 1.6154 | 0.2308 | 0.9231 | 0.6923 | 1.0385 | 0.1154 |
| season | 0.20 | 53 | 56.100 | 20.000 | 45.000 | 29.000 | 52.000 | 7.000 | 3.1953 | 1.3136 | 0.3550 | 0.7988 | 0.5148 | 0.9231 | 0.1243 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5680 |
| predicted_ER | 0.3310 |
| predicted_ERA | 2.9788 |
| predicted_H | 0.8490 |
| predicted_HR | 0.1620 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8880 |
| predicted_WHIP | 1.4167 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5680 | 0.2956 | model_form_blend |
| predicted_ER | 0.0000 | 0.3310 | 0.1722 | model_form_blend |
| predicted_ERA | - | 2.9788 | 2.9788 | form_only |
| predicted_H | 0.0000 | 0.8490 | 0.4418 | model_form_blend |
| predicted_HR | 0.0000 | 0.1620 | 0.0843 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8880 | 0.9417 | model_form_blend |
| predicted_WHIP | - | 1.4167 | 1.4167 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 53 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.20 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 672782 |
| playerID | 672782 |
| playerName | Yoendrys Gómez |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.299 |
| sl_xwoba | 0.342 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 44.1 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 47.2 |
| sv_pitch_count | 13.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 93.47692307692309 |
| sv_release_spin_rate | 2641.230769230769 |
| sv_effective_speed | 94.03076923076924 |
| sv_launch_speed | 90.9 |
| sv_launch_angle | 53.75 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.782 |
| sv_delta_home_win_exp | 0.076 |
| sl_avg_best_speed | 77.297861646 |
| sl_avg_hyper_speed | 93.975839172 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.857 | 0.000 | -0.857 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.714 | 1.000 | -0.714 | -1.000 |
| predicted_IP | 0.100 | 1.000 | 0.100 | Pitching_InningsPitched | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.429 | 3.000 | -1.429 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656546",
"player_name": "Jeff Hoffman",
"position": "Middle Reliever (High Leverage)",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 5.000 | 4.000 | 6.000 | 0.000 | 3.6000 | 1.8000 | 0.4000 | 1.0000 | 0.8000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 6.000 | 7.000 | 15.000 | 0.000 | 1.8000 | 1.3000 | 0.2000 | 0.6000 | 0.7000 | 1.5000 | 0.0000 |
| season | 0.20 | 58 | 55.000 | 23.000 | 53.000 | 24.000 | 85.000 | 4.000 | 3.7636 | 1.4000 | 0.4182 | 0.9636 | 0.4364 | 1.5454 | 0.0727 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4680 |
| predicted_ER | 0.3060 |
| predicted_ERA | 3.4732 |
| predicted_H | 0.7050 |
| predicted_HR | 0.0440 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9840 |
| predicted_WHIP | 1.4806 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4680 | 0.2425 | model_form_blend |
| predicted_ER | 0.0000 | 0.3060 | 0.1586 | model_form_blend |
| predicted_ERA | - | 3.4732 | 3.4732 | form_only |
| predicted_H | 0.0000 | 0.7050 | 0.3653 | model_form_blend |
| predicted_HR | 0.0000 | 0.0440 | 0.0228 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9840 | 0.5099 | model_form_blend |
| predicted_WHIP | - | 1.4806 | 1.4806 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 7 |
| Season rows before report date | 7 |
| Report year | 2026 |
| Profile rows used | 58 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.76 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260819_ATL@MIN |
| game_type | full |
| mlbID | 656546 |
| playerID | 656546 |
| playerName | Jeff Hoffman |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-19 |
| game_pk | 823664.0 |
| sl_k_percent | 34.3 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.311 |
| sl_xwoba | 0.297 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 38.3 |
| sl_whiff_percent | 37.2 |
| sl_swing_percent | 50.1 |
| sv_pitch_count | 20.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 90.24 |
| sv_release_spin_rate | 2681.0 |
| sv_effective_speed | 91.03 |
| sv_launch_speed | 79.2 |
| sv_launch_angle | 25.5 |
| sv_woba_value | 1.25 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.1789999999999999 |
| sv_delta_home_win_exp | 0.076 |
| sl_avg_best_speed | 78.022886515 |
| sl_avg_hyper_speed | 93.692288779 |
| 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.404 | 0.000 | 0.596 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.481 | 0.000 | 0.519 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.981 | 0.000 | 0.019 | 1.000 |
| predicted_IP | 0.000 | 1.100 | 0.000 | Pitching_InningsPitched | 0.681 | 0.200 | 0.419 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.750 | 0.000 | 0.250 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 5 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 0 |
| Better Metrics | 2 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 5 | 5 | 0 | 2 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "573124",
"player_name": "Taylor Rogers",
"position": "Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 3.000 | 1.000 | 5.000 | 0.000 | 3.6000 | 0.8000 | 0.4000 | 0.6000 | 0.2000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 8.000 | 6.000 | 9.000 | 0.000 | 2.6129 | 1.3548 | 0.2903 | 0.7742 | 0.5806 | 0.8710 | 0.0000 |
| season | 0.20 | 51 | 45.200 | 22.000 | 49.000 | 20.000 | 39.000 | 3.000 | 4.3358 | 1.5109 | 0.4818 | 1.0730 | 0.4380 | 0.8540 | 0.0657 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2870 |
| predicted_ER | 0.3220 |
| predicted_ERA | 3.7933 |
| predicted_H | 0.6360 |
| predicted_HR | 0.0460 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7150 |
| predicted_WHIP | 1.2078 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2870 | 0.1437 | model_form_blend |
| predicted_ER | 0.0000 | 0.3220 | 0.1612 | model_form_blend |
| predicted_ERA | - | 3.7933 | 3.7933 | form_only |
| predicted_H | 0.0000 | 0.6360 | 0.3185 | model_form_blend |
| predicted_HR | 0.0000 | 0.0460 | 0.0230 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7150 | 0.3581 | model_form_blend |
| predicted_WHIP | - | 1.2078 | 1.2078 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 52 |
| Season rows before report date | 52 |
| Report year | 2026 |
| Profile rows used | 51 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.93 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260817_ATL@MIN |
| game_type | full |
| mlbID | 573124 |
| playerID | 573124 |
| playerName | Taylor Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-08-17 |
| game_pk | 823668.0 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.337 |
| sl_xwoba | 0.313 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 26.9 |
| sl_whiff_percent | 17.3 |
| sl_swing_percent | 42.2 |
| sv_pitch_count | 11.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 84.75454545454545 |
| sv_release_spin_rate | 2558.454545454545 |
| sv_effective_speed | 83.77272727272727 |
| sv_launch_speed | 82.21666666666667 |
| sv_launch_angle | 43.833333333333336 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 2.0 |
| sv_delta_run_exp | -0.536 |
| sv_delta_home_win_exp | 0.065 |
| sl_avg_best_speed | 75.491928551 |
| sl_avg_hyper_speed | 92.240167464 |
| Field | Value |
|---|---|
| Pitcher | Randy Vásquez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.8362 |
| ESPN Rank | 219 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0780 |
| Avg Velo | 91.3082 |
| Avg Spin | 2601.3296 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 4 |
| Pre H | 4 |
| Pre BB | 2 |
| Pre SO | 3 |
| Season ERA | 4.2973 |
| Season WHIP | 1.3784 |
| Role Avg IP | 4.9650 |
| Recent Avg IP | 4 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"opponent": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"edges": {
"quality_edge": 0.1453,
"offense_edge": -0.0536,
"opponent_offense_edge": 0.0318,
"defense_strength": 0.0625,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9916,
"strikeout": 1.0018
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681190",
"profile": {
"available": true,
"pitcher_id": "681190",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 428.0,
"k_percent": 15.0,
"bb_percent": 6.8,
"woba": 0.342,
"xwoba": 0.365,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 44.1,
"avg_best_speed": 82.1526,
"avg_hyper_speed": 94.8735,
"whiff_percent": 19.3,
"swing_percent": 49.9
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.084,
"command_and_miss": -0.6529,
"regression_edge": -0.6571,
"xwoba_edge": -1.5143,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.9286,
"whiff_edge": -0.8714,
"bb_edge": 0.575,
"pitch_design_score": 0.078
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681190",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 52,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 91.30817702767986,
"release_spin_rate": 2601.329633593937,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 91.30817702767986,
"release_spin_rate": 2601.329633593937,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3082,
"release_spin_rate": 2601.3296,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.078,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5572,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.8362,
"sample_weight": 1.0,
"run_prevention_factor": 1.0711,
"strikeout_factor": 0.924,
"walk_factor": 0.954,
"homer_factor": 1.1448,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681190",
"espn_id": 4722847,
"player_name": "Randy Vasquez",
"team": "SD",
"role": "pitcher",
"espn_rank": 219,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 219,
"gp_value": 24.0,
"gp_rank": 284,
"gs_value": 19.0,
"gs_rank": 91,
"qs_value": 5.0,
"qs_rank": 97,
"era_value": 4.2972,
"era_rank": null,
"w_value": 8.0,
"w_rank": 44,
"l_value": 6.0,
"l_rank": 93,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 1.0,
"hld_rank": 249,
"ip_value": 111.0,
"ip_rank": 92,
"h_value": 121.0,
"h_rank": 47,
"er_value": 53.0,
"er_rank": 66,
"hr_value": 15.0,
"hr_rank": 65,
"bb_value": 32.0,
"bb_rank": 116,
"k_value": 71.0,
"k_rank": 154,
"k_per_9_value": 5.756757,
"k_per_9_rank": 45.0,
"whip_value": 1.3783,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0711,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0711,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.954,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1448,
"adjusted": 1
},
"predicted_SO": {
"original": 2.0,
"factor": 0.924,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 1,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0.0,
"OBP": 0.0,
"SLG": 0.0,
"OPS": 0.0,
"games_played": 1,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 36.2,
"ER": 23,
"H": 45,
"BB": 10,
"SO": 13,
"HR": 4,
"ERA": 5.645454545454545,
"WHIP": 1.4999999999999998,
"K9": 3.1909090909090905,
"HR9": 0.9818181818181817,
"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-15T00:00:00"
}{
"available": true,
"pitcher_id": "681190",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 52,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 91.30817702767986,
"release_spin_rate": 2601.329633593937,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 52,
"pitch_usage": 0.0,
"release_speed": 91.30817702767986,
"release_spin_rate": 2601.329633593937,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3082,
"release_spin_rate": 2601.3296,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.078,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5572,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 24.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8276,
"prior_weight": 0.1724
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "681190",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.1,
"ER": 7.0,
"R": 7.0,
"H": 15.0,
"BB": 5.0,
"SO": 8.0,
"HR": 1.0,
"BF": 88.0,
"Pitches": 334.0
},
"per_game": {
"IP": 4.2,
"ER": 1.4,
"R": 1.4,
"H": 3.0,
"BB": 1.0,
"SO": 1.6,
"HR": 0.2,
"BF": 17.6,
"Pitches": 66.8
},
"rates": {
"ERA": 2.7,
"WHIP": 0.8571,
"ER_per_IP": 0.3,
"H_per_IP": 0.64286,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.34286,
"HR_per_IP": 0.04286
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 36.2,
"ER": 23.0,
"R": 27.0,
"H": 45.0,
"BB": 10.0,
"SO": 13.0,
"HR": 4.0,
"BF": 161.0,
"Pitches": 586.0
},
"per_game": {
"IP": 3.2,
"ER": 2.3,
"R": 2.7,
"H": 4.5,
"BB": 1.0,
"SO": 1.3,
"HR": 0.4,
"BF": 16.1,
"Pitches": 58.6
},
"rates": {
"ERA": 5.6455,
"WHIP": 1.5,
"ER_per_IP": 0.62727,
"H_per_IP": 1.22727,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.35455,
"HR_per_IP": 0.10909
}
},
"season": {
"games": 24,
"totals": {
"IP": 111.0,
"ER": 53.0,
"R": 57.0,
"H": 121.0,
"BB": 32.0,
"SO": 71.0,
"HR": 15.0,
"BF": 474.0,
"Pitches": 1816.0
},
"per_game": {
"IP": 4.2,
"ER": 2.2083,
"R": 2.375,
"H": 5.0417,
"BB": 1.3333,
"SO": 2.9583,
"HR": 0.625,
"BF": 19.75,
"Pitches": 75.6667
},
"rates": {
"ERA": 4.2973,
"WHIP": 1.3784,
"ER_per_IP": 0.47748,
"H_per_IP": 1.09009,
"BB_per_IP": 0.28829,
"SO_per_IP": 0.63964,
"HR_per_IP": 0.13514
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.008,
"predicted_H": 4.127,
"predicted_BB": 1.18,
"predicted_SO": 2.19,
"predicted_HR": 0.417,
"predicted_ERA": 4.1297,
"predicted_WHIP": 1.2126
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4228,
"form_weight": 0.5772,
"form_reliability": 0.8276,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 24.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8276,
"prior_weight": 0.1724
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.008,
"final": 2.8503,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.127,
"final": 4.0733,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.18,
"final": 1.5267,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 2.19,
"final": 2.5325,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.417,
"final": 0.6635,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1297,
"final": 4.1297,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2126,
"final": 1.2126,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Adrian Morejon |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 1.1118 |
| ESPN Rank | 109 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 96.0816 |
| Avg Spin | 2226.4206 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.7794 |
| Season WHIP | 1.0882 |
| Role Avg IP | 1.1720 |
| Recent Avg IP | 1.4000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"opponent": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"edges": {
"quality_edge": 0.1453,
"offense_edge": -0.0536,
"opponent_offense_edge": 0.0318,
"defense_strength": 0.0625,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9916,
"strikeout": 1.0018
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670970",
"profile": {
"available": true,
"pitcher_id": "670970",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 265.0,
"k_percent": 29.7,
"bb_percent": 6.8,
"woba": 0.253,
"xwoba": 0.244,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 32.4,
"avg_best_speed": 75.4544,
"avg_hyper_speed": 93.4794,
"whiff_percent": 34.4,
"swing_percent": 51.9
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.4132,
"command_and_miss": 1.0471,
"regression_edge": 0.2571,
"xwoba_edge": 1.9429,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.7429,
"whiff_edge": 1.2857,
"bb_edge": 0.575,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670970",
"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": 96.08159952304504,
"release_spin_rate": 2226.42055761603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 96.08159952304504,
"release_spin_rate": 2226.42055761603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 96.0816,
"release_spin_rate": 2226.4206,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 1.1118,
"sample_weight": 1.0,
"run_prevention_factor": 0.9055,
"strikeout_factor": 1.0943,
"walk_factor": 0.954,
"homer_factor": 0.8267,
"woba_minus_xwoba": 0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670970",
"espn_id": 40917,
"player_name": "Adrian Morejon",
"team": "SD",
"role": "pitcher",
"espn_rank": 109,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 109,
"gp_value": 58.0,
"gp_rank": 16,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.7794,
"era_rank": null,
"w_value": 9.0,
"w_rank": 28,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 2.0,
"sv_rank": 81,
"hld_value": 20.0,
"hld_rank": 11,
"ip_value": 68.0,
"ip_rank": 167,
"h_value": 55.0,
"h_rank": 185,
"er_value": 21.0,
"er_rank": 266,
"hr_value": 4.0,
"hr_rank": 336,
"bb_value": 19.0,
"bb_rank": 272,
"k_value": 83.0,
"k_rank": 114,
"k_per_9_value": 10.985294,
"k_per_9_rank": 18.0,
"whip_value": 1.0882,
"whip_rank": null,
"war_value": 1.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9055,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9055,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.954,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8267,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0943,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.2,
"ER": 1,
"H": 8,
"BB": 5,
"SO": 20,
"HR": 1,
"ERA": 0.7105263157894737,
"WHIP": 1.026315789473684,
"K9": 14.210526315789473,
"HR9": 0.7105263157894737,
"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-18T00:00:00"
}{
"available": true,
"pitcher_id": "670970",
"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": 96.08159952304504,
"release_spin_rate": 2226.42055761603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 96.08159952304504,
"release_spin_rate": 2226.42055761603,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 96.0816,
"release_spin_rate": 2226.4206,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 13.632,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7316,
"prior_weight": 0.2684
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "670970",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 58,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 1.0,
"R": 2.0,
"H": 5.0,
"BB": 4.0,
"SO": 10.0,
"HR": 1.0,
"BF": 29.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.4,
"H": 1.0,
"BB": 0.8,
"SO": 2.0,
"HR": 0.2,
"BF": 5.8,
"Pitches": 22.6
},
"rates": {
"ERA": 1.2857,
"WHIP": 1.2857,
"ER_per_IP": 0.14286,
"H_per_IP": 0.71429,
"BB_per_IP": 0.57143,
"SO_per_IP": 1.42857,
"HR_per_IP": 0.14286
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.2,
"ER": 1.0,
"R": 3.0,
"H": 8.0,
"BB": 5.0,
"SO": 20.0,
"HR": 1.0,
"BF": 53.0,
"Pitches": 208.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.3,
"H": 0.8,
"BB": 0.5,
"SO": 2.0,
"HR": 0.1,
"BF": 5.3,
"Pitches": 20.8
},
"rates": {
"ERA": 0.7105,
"WHIP": 1.0263,
"ER_per_IP": 0.07895,
"H_per_IP": 0.63158,
"BB_per_IP": 0.39474,
"SO_per_IP": 1.57895,
"HR_per_IP": 0.07895
}
},
"season": {
"games": 58,
"totals": {
"IP": 68.0,
"ER": 21.0,
"R": 25.0,
"H": 55.0,
"BB": 19.0,
"SO": 83.0,
"HR": 4.0,
"BF": 279.0,
"Pitches": 1075.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3621,
"R": 0.431,
"H": 0.9483,
"BB": 0.3276,
"SO": 1.431,
"HR": 0.069,
"BF": 4.8103,
"Pitches": 18.5345
},
"rates": {
"ERA": 2.7794,
"WHIP": 1.0882,
"ER_per_IP": 0.30882,
"H_per_IP": 0.80882,
"BB_per_IP": 0.27941,
"SO_per_IP": 1.22059,
"HR_per_IP": 0.05882
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.329,
"predicted_H": 1.035,
"predicted_BB": 0.571,
"predicted_SO": 1.745,
"predicted_HR": 0.154,
"predicted_ERA": 2.2225,
"predicted_WHIP": 1.2046
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4634,
"form_weight": 0.5366,
"form_reliability": 0.7316,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.632,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7316,
"prior_weight": 0.2684
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.329,
"final": 0.1765,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.035,
"final": 0.5554,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.571,
"final": 0.3064,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.745,
"final": 0.9364,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.154,
"final": 0.0826,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2225,
"final": 2.2225,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2046,
"final": 1.2046,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bradgley Rodriguez |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 1.0171 |
| ESPN Rank | 111 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2291 |
| Avg Velo | 94.0055 |
| Avg Spin | 2135.1872 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.0769 |
| Season WHIP | 1.0651 |
| Role Avg IP | 1.0900 |
| Recent Avg IP | 1.4670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"opponent": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"edges": {
"quality_edge": 0.1453,
"offense_edge": -0.0536,
"opponent_offense_edge": 0.0318,
"defense_strength": 0.0625,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9916,
"strikeout": 1.0018
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "699134",
"profile": {
"available": true,
"pitcher_id": "699134",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 221.0,
"k_percent": 26.0,
"bb_percent": 7.4,
"woba": 0.253,
"xwoba": 0.226,
"sweet_spot_percent": 24.0,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 28.6,
"avg_best_speed": 76.9561,
"avg_hyper_speed": 92.5666,
"whiff_percent": 28.9,
"swing_percent": 50.7
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.6499,
"command_and_miss": 0.5043,
"regression_edge": 0.7714,
"xwoba_edge": 2.4571,
"barrel_edge": 1.0,
"hard_hit_edge": 1.2857,
"whiff_edge": 0.5,
"bb_edge": 0.425,
"pitch_design_score": 0.2291
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "699134",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 94.00554347931421,
"release_spin_rate": 2135.187225243073,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 94.00554347931421,
"release_spin_rate": 2135.187225243073,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.0055,
"release_spin_rate": 2135.1872,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2291,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6361,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 1.0171,
"sample_weight": 0.884,
"run_prevention_factor": 0.9135,
"strikeout_factor": 1.0369,
"walk_factor": 0.9699,
"homer_factor": 0.8187,
"woba_minus_xwoba": 0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699134",
"espn_id": 5266086,
"player_name": "Bradgley Rodriguez",
"team": "SD",
"role": "pitcher",
"espn_rank": 111,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 111,
"gp_value": 52.0,
"gp_rank": 51,
"gs_value": 4.0,
"gs_rank": 217,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.0769,
"era_rank": null,
"w_value": 3.0,
"w_rank": 221,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 10.0,
"hld_rank": 73,
"ip_value": 56.1,
"ip_rank": 210,
"h_value": 43.0,
"h_rank": 257,
"er_value": 13.0,
"er_rank": 412,
"hr_value": 3.0,
"hr_rank": 404,
"bb_value": 17.0,
"bb_rank": 304,
"k_value": 60.0,
"k_rank": 191,
"k_per_9_value": 9.585799,
"k_per_9_rank": 24.0,
"whip_value": 1.065,
"whip_rank": null,
"war_value": 1.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9235,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9235,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9734,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8397,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0326,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 3,
"H": 8,
"BB": 2,
"SO": 15,
"HR": 1,
"ERA": 2.3142857142857145,
"WHIP": 0.8571428571428572,
"K9": 11.571428571428571,
"HR9": 0.7714285714285715,
"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-18T00:00:00"
}{
"available": true,
"pitcher_id": "699134",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 21,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 94.00554347931421,
"release_spin_rate": 2135.187225243073,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 21,
"pitch_usage": 0.0,
"release_speed": 94.00554347931421,
"release_spin_rate": 2135.187225243073,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.0055,
"release_spin_rate": 2135.1872,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2291,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6361,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.293,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6931,
"prior_weight": 0.3069
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "699134",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 52,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 112.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 5.4,
"Pitches": 22.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5455,
"ER_per_IP": 0.0,
"H_per_IP": 0.40909,
"BB_per_IP": 0.13636,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 2.0,
"SO": 15.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 186.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.3,
"H": 0.8,
"BB": 0.2,
"SO": 1.5,
"HR": 0.1,
"BF": 4.6,
"Pitches": 18.6
},
"rates": {
"ERA": 2.3143,
"WHIP": 0.8571,
"ER_per_IP": 0.25714,
"H_per_IP": 0.68571,
"BB_per_IP": 0.17143,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.08571
}
},
"season": {
"games": 52,
"totals": {
"IP": 56.1,
"ER": 13.0,
"R": 17.0,
"H": 43.0,
"BB": 17.0,
"SO": 60.0,
"HR": 3.0,
"BF": 231.0,
"Pitches": 915.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.3269,
"H": 0.8269,
"BB": 0.3269,
"SO": 1.1538,
"HR": 0.0577,
"BF": 4.4423,
"Pitches": 17.5962
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.0651,
"ER_per_IP": 0.23077,
"H_per_IP": 0.76331,
"BB_per_IP": 0.30178,
"SO_per_IP": 1.06509,
"HR_per_IP": 0.05325
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.294,
"predicted_H": 0.827,
"predicted_BB": 0.282,
"predicted_SO": 1.294,
"predicted_HR": 0.087,
"predicted_ERA": 2.2336,
"predicted_WHIP": 0.9366
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4797,
"form_weight": 0.5203,
"form_reliability": 0.6931,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.293,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6931,
"prior_weight": 0.3069
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.294,
"final": 0.153,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.827,
"final": 0.4303,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.282,
"final": 0.1467,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.294,
"final": 1.153,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.087,
"final": 0.0453,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2336,
"final": 2.2336,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9366,
"final": 0.9366,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jeremiah Estrada |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1979 |
| ESPN Rank | 309 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0309 |
| Avg Velo | 90.4677 |
| Avg Spin | 1851.0219 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.6000 |
| Season WHIP | 1.1667 |
| Role Avg IP | 0.9380 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"opponent": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"edges": {
"quality_edge": 0.1453,
"offense_edge": -0.0536,
"opponent_offense_edge": 0.0318,
"defense_strength": 0.0625,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9916,
"strikeout": 1.0018
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669093",
"profile": {
"available": true,
"pitcher_id": "669093",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 114.0,
"k_percent": 30.3,
"bb_percent": 13.1,
"woba": 0.26,
"xwoba": 0.287,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 34.8,
"avg_best_speed": 73.2223,
"avg_hyper_speed": 92.8549,
"whiff_percent": 31.9,
"swing_percent": 47.4
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.6084,
"command_and_miss": 0.6457,
"regression_edge": -0.7714,
"xwoba_edge": 0.7143,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.4,
"whiff_edge": 0.9286,
"bb_edge": -1.0,
"pitch_design_score": 0.0309
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669093",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 90.4676796194861,
"release_spin_rate": 1851.0219220347935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 90.4676796194861,
"release_spin_rate": 1851.0219220347935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4677,
"release_spin_rate": 1851.0219,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0309,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.221,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.1979,
"sample_weight": 0.456,
"run_prevention_factor": 0.9832,
"strikeout_factor": 1.038,
"walk_factor": 1.0365,
"homer_factor": 0.9837,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669093",
"espn_id": 41014,
"player_name": "Jeremiah Estrada",
"team": "SD",
"role": "pitcher",
"espn_rank": 309,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 309,
"gp_value": 32.0,
"gp_rank": 186,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.6,
"era_rank": null,
"w_value": 2.0,
"w_rank": 286,
"l_value": 2.0,
"l_rank": 293,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 12.0,
"hld_rank": 47,
"ip_value": 30.0,
"ip_rank": 404,
"h_value": 19.0,
"h_rank": 485,
"er_value": 12.0,
"er_rank": 434,
"hr_value": 2.0,
"hr_rank": 480,
"bb_value": 16.0,
"bb_rank": 326,
"k_value": 37.0,
"k_rank": 340,
"k_per_9_value": 11.1,
"k_per_9_rank": 22.0,
"whip_value": 1.1666,
"whip_rank": null,
"war_value": 0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9923,
"adjusted": 1
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0166,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9926,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0173,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 4,
"H": 6,
"BB": 5,
"SO": 11,
"HR": 0,
"ERA": 4.319999999999999,
"WHIP": 1.3199999999999998,
"K9": 11.879999999999999,
"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-19T00:00:00"
}{
"available": true,
"pitcher_id": "669093",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 17,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 90.4676796194861,
"release_spin_rate": 1851.0219220347935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 17,
"pitch_usage": 0.0,
"release_speed": 90.4676796194861,
"release_spin_rate": 1851.0219220347935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4677,
"release_spin_rate": 1851.0219,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0309,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.221,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.014,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.546,
"prior_weight": 0.454
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669093",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 3.0,
"H": 3.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.6,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.6
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.0714,
"ER_per_IP": 0.42857,
"H_per_IP": 0.64286,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 4.0,
"R": 5.0,
"H": 6.0,
"BB": 5.0,
"SO": 11.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 152.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.5,
"H": 0.6,
"BB": 0.5,
"SO": 1.1,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.2
},
"rates": {
"ERA": 4.32,
"WHIP": 1.32,
"ER_per_IP": 0.48,
"H_per_IP": 0.72,
"BB_per_IP": 0.6,
"SO_per_IP": 1.32,
"HR_per_IP": 0.0
}
},
"season": {
"games": 32,
"totals": {
"IP": 30.0,
"ER": 12.0,
"R": 15.0,
"H": 19.0,
"BB": 16.0,
"SO": 37.0,
"HR": 2.0,
"BF": 122.0,
"Pitches": 496.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.4688,
"H": 0.5938,
"BB": 0.5,
"SO": 1.1562,
"HR": 0.0625,
"BF": 3.8125,
"Pitches": 15.5
},
"rates": {
"ERA": 3.6,
"WHIP": 1.1667,
"ER_per_IP": 0.4,
"H_per_IP": 0.63333,
"BB_per_IP": 0.53333,
"SO_per_IP": 1.23333,
"HR_per_IP": 0.06667
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.438,
"predicted_H": 0.755,
"predicted_BB": 0.416,
"predicted_SO": 1.063,
"predicted_HR": 0.069,
"predicted_ERA": 4.2142,
"predicted_WHIP": 1.2507
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5418,
"form_weight": 0.4582,
"form_reliability": 0.546,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.014,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.546,
"prior_weight": 0.454
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.438,
"final": 0.2007,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.755,
"final": 0.3459,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.416,
"final": 0.1906,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.063,
"final": 0.4871,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.069,
"final": 0.0316,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2142,
"final": 4.2142,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2507,
"final": 1.2507,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Mason Miller |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 1.2022 |
| ESPN Rank | 24 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2529 |
| Avg Velo | 94.4316 |
| Avg Spin | 2462.7930 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 0.8599 |
| Season WHIP | 0.8217 |
| Role Avg IP | 1.0470 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 128,
"wins": 68,
"losses": 60,
"win_pct": 0.5312,
"runs_scored": 543.0,
"runs_allowed": 540.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0234,
"avg_runs_scored": 4.2422,
"avg_runs_allowed": 4.2188,
"offense_index": 0.9464,
"defense_index": 1.0625,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.8,
"run_differential": 18.0
},
"available": true,
"quality_score": 0.0994
},
"opponent": {
"team": "MIN",
"games": 128,
"wins": 63,
"losses": 65,
"win_pct": 0.4922,
"runs_scored": 592.0,
"runs_allowed": 633.0,
"run_differential": -41.0,
"run_differential_per_game": -0.3203,
"avg_runs_scored": 4.625,
"avg_runs_allowed": 4.9453,
"offense_index": 1.0318,
"defense_index": 0.9064,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.9,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0459
},
"edges": {
"quality_edge": 0.1453,
"offense_edge": -0.0536,
"opponent_offense_edge": 0.0318,
"defense_strength": 0.0625,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0064,
"run_prevention": 0.9916,
"strikeout": 1.0018
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695243",
"profile": {
"available": true,
"pitcher_id": "695243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 195.0,
"k_percent": 47.7,
"bb_percent": 9.5,
"woba": 0.182,
"xwoba": 0.188,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 27.7,
"avg_best_speed": 73.8446,
"avg_hyper_speed": 92.3688,
"whiff_percent": 47.0,
"swing_percent": 46.8
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.8275,
"command_and_miss": 1.98,
"regression_edge": -0.1714,
"xwoba_edge": 2.5,
"barrel_edge": 0.7778,
"hard_hit_edge": 1.4143,
"whiff_edge": 2.5,
"bb_edge": -0.1,
"pitch_design_score": 0.2529
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695243",
"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": 94.43158588539553,
"release_spin_rate": 2462.793032277117,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.43158588539553,
"release_spin_rate": 2462.793032277117,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.4316,
"release_spin_rate": 2462.793,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2529,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8065,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 1.2022,
"sample_weight": 0.78,
"run_prevention_factor": 0.8978,
"strikeout_factor": 1.156,
"walk_factor": 1.0062,
"homer_factor": 0.8488,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695243",
"espn_id": 4730225,
"player_name": "Mason Miller",
"team": "SD",
"role": "pitcher",
"espn_rank": 24,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 24,
"gp_value": 50.0,
"gp_rank": 65,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 0.8598,
"era_rank": null,
"w_value": 4.0,
"w_rank": 162,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 31.0,
"sv_rank": 4,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 52.1,
"ip_rank": 239,
"h_value": 24.0,
"h_rank": 435,
"er_value": 5.0,
"er_rank": 612,
"hr_value": 0.0,
"hr_rank": 704,
"bb_value": 19.0,
"bb_rank": 272,
"k_value": 95.0,
"k_rank": 91,
"k_per_9_value": 16.33758,
"k_per_9_rank": 10.0,
"whip_value": 0.8216,
"whip_rank": null,
"war_value": 3.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9203,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9203,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0048,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8821,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.1217,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 1,
"H": 3,
"BB": 4,
"SO": 17,
"HR": 0,
"ERA": 0.8437499999999999,
"WHIP": 0.6562499999999999,
"K9": 14.343749999999998,
"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-18T00:00:00"
}{
"available": true,
"pitcher_id": "695243",
"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": 94.43158588539553,
"release_spin_rate": 2462.793032277117,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.43158588539553,
"release_spin_rate": 2462.793032277117,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.4316,
"release_spin_rate": 2462.793,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2529,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.8065,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 10.491,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6772,
"prior_weight": 0.3228
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "695243",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 3.0,
"SO": 7.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.6,
"SO": 1.4,
"HR": 0.0,
"BF": 4.0,
"Pitches": 19.4
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.4,
"BB_per_IP": 0.6,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 4.0,
"SO": 17.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 179.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.3,
"BB": 0.4,
"SO": 1.7,
"HR": 0.0,
"BF": 3.9,
"Pitches": 17.9
},
"rates": {
"ERA": 0.8438,
"WHIP": 0.6562,
"ER_per_IP": 0.09375,
"H_per_IP": 0.28125,
"BB_per_IP": 0.375,
"SO_per_IP": 1.59375,
"HR_per_IP": 0.0
}
},
"season": {
"games": 50,
"totals": {
"IP": 52.1,
"ER": 5.0,
"R": 7.0,
"H": 24.0,
"BB": 19.0,
"SO": 95.0,
"HR": 0.0,
"BF": 199.0,
"Pitches": 850.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.14,
"H": 0.48,
"BB": 0.38,
"SO": 1.9,
"HR": 0.0,
"BF": 3.98,
"Pitches": 17.0
},
"rates": {
"ERA": 0.8599,
"WHIP": 0.8217,
"ER_per_IP": 0.09554,
"H_per_IP": 0.4586,
"BB_per_IP": 0.36306,
"SO_per_IP": 1.81529,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.258,
"predicted_H": 0.565,
"predicted_BB": 0.439,
"predicted_SO": 1.358,
"predicted_HR": 0.047,
"predicted_ERA": 2.321,
"predicted_WHIP": 1.0037
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4864,
"form_weight": 0.5136,
"form_reliability": 0.6772,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.491,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6772,
"prior_weight": 0.3228
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.258,
"final": 0.1325,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.565,
"final": 0.2902,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.439,
"final": 0.7119,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.358,
"final": 1.1839,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.047,
"final": 0.0241,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.321,
"final": 2.321,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0037,
"final": 1.0037,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.128 | 0.000 | 0.000 | Hitting_2B | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.349 | 5.000 | 3.000 | Hitting_AB | 3.658 | 4.000 | 1.342 | 1.000 |
| predicted_AVG | 0.243 | 0.000 | 0.333 | Hitting_AVG | 0.317 | 0.250 | -0.317 | -0.250 |
| predicted_BB | 0.384 | 0.000 | 0.000 | Hitting_BB | 0.508 | 0.000 | -0.508 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.814 | 0.000 | 1.000 | Hitting_H | 1.158 | 1.000 | -1.158 | -1.000 |
| predicted_HR | 0.047 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.321 | 0.000 | 0.333 | Hitting_OBP | 0.411 | 0.250 | -0.411 | -0.250 |
| predicted_R | 0.407 | 0.000 | 0.000 | Hitting_R | 0.650 | 1.000 | -0.650 | -1.000 |
| predicted_RBI | 0.372 | 0.000 | 0.000 | Hitting_RBI | 0.442 | 0.000 | -0.442 | 0.000 |
| predicted_SLG | 0.323 | 0.000 | 0.333 | Hitting_SLG | 0.437 | 0.250 | -0.437 | -0.250 |
| predicted_SO | 0.512 | 0.000 | 0.000 | Hitting_SO | 0.683 | 1.000 | -0.683 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.3490 -> 5.0000 (boost 1.6510, better) |
| Biggest Deboost | predicted_H: 0.8140 -> 0.0000 (deboost -0.8140, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 3 | 1 | predicted_SO: 0.5120 -> 0.5894 (boost 0.0774, worse) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.5881 -> 1.0000 (boost 0.4119, worse) | predicted_AB: 3.3966 -> 3.0000 (deboost -0.3966, worse) | AB rounded to 3 (raw=3.40), rates preserved: AVG=0.253 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4190 -> 0.0000 (deboost -0.4190, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 1 | 1 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3580 -> 0.3506 (deboost -0.0074, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650859",
"player_name": "Luis Rengifo",
"position": "DH",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.0,
"predicted_AB": 3.349,
"predicted_AVG": 0.243,
"predicted_BB": 0.384,
"predicted_H": 0.814,
"predicted_HR": 0.047,
"predicted_OBP": 0.321,
"predicted_R": 0.407,
"predicted_RBI": 0.372,
"predicted_SLG": 0.323,
"predicted_SO": 0.512
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1101,
"predicted_3B": 0.0004,
"predicted_AB": 3.3966,
"predicted_AVG": 0.2493,
"predicted_BB": 0.3904,
"predicted_H": 0.8472,
"predicted_HBP": 0.022,
"predicted_HR": 0.0729,
"predicted_OBP": 0.3279,
"predicted_R": 0.4091,
"predicted_RBI": 0.3729,
"predicted_SLG": 0.3459,
"predicted_SO": 0.5894
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1101,
"delta": -0.0179,
"percent_delta": -0.1398,
"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.349,
"after": 3.3966,
"delta": 0.0476,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2493,
"delta": 0.0063,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.384,
"after": 0.3904,
"delta": 0.0064,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.814,
"after": 0.8472,
"delta": 0.0332,
"percent_delta": 0.0408,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.047,
"after": 0.0729,
"delta": 0.0259,
"percent_delta": 0.5511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3279,
"delta": 0.0069,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 0.4091,
"delta": 0.0021,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.372,
"after": 0.3729,
"delta": 0.0009,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.3459,
"delta": 0.0229,
"percent_delta": 0.0709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.512,
"after": 0.5894,
"delta": 0.0774,
"percent_delta": 0.1512,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.512,
"after": 0.5894,
"delta": 0.0774,
"percent_delta": 0.1512,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 86
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1101,
"predicted_3B": 0.0004,
"predicted_AB": 3.3966,
"predicted_AVG": 0.2529,
"predicted_BB": 0.3913,
"predicted_H": 0.859,
"predicted_HBP": 0.022,
"predicted_HR": 0.0736,
"predicted_OBP": 0.3301,
"predicted_R": 0.419,
"predicted_RBI": 0.382,
"predicted_SLG": 0.3506,
"predicted_SO": 0.5881
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1101,
"after": 0.1101,
"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.3966,
"after": 3.3966,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2493,
"after": 0.2529,
"delta": 0.0036,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3904,
"after": 0.3913,
"delta": 0.0009,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8472,
"after": 0.859,
"delta": 0.0118,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0729,
"after": 0.0736,
"delta": 0.0007,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3279,
"after": 0.3301,
"delta": 0.0022,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4091,
"after": 0.419,
"delta": 0.0099,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3729,
"after": 0.382,
"delta": 0.0091,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3459,
"after": 0.3506,
"delta": 0.0047,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5894,
"after": 0.5881,
"delta": -0.0013,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.40), rates preserved: AVG=0.253 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.1101,
"after": 0.0,
"delta": -0.1101,
"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.3966,
"after": 3.0,
"delta": -0.3966,
"percent_delta": -0.1168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3913,
"after": 0.0,
"delta": -0.3913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.859,
"after": 1.0,
"delta": 0.141,
"percent_delta": 0.1641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0736,
"after": 0.0,
"delta": -0.0736,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"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": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5881,
"after": 1.0,
"delta": 0.4119,
"percent_delta": 0.7004,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3966,
"after": 3.0,
"delta": -0.3966,
"percent_delta": -0.1168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"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.253,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.335,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.358,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2529,
"after": 0.253,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3301,
"after": 0.335,
"delta": 0.0049,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3506,
"after": 0.358,
"delta": 0.0074,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2529,
"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.3301,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3506,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.253,
"after": 0.2529,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3301,
"delta": -0.0049,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3506,
"delta": -0.0074,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3506,
"delta": -0.0074,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.349,
"after": 5.0,
"delta": 1.651,
"percent_delta": 0.493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2529,
"delta": 0.0099,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.384,
"after": 0.0,
"delta": -0.384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.814,
"after": 0.0,
"delta": -0.814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.321,
"after": 0.3301,
"delta": 0.0091,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.407,
"after": 0.0,
"delta": -0.407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.323,
"after": 0.3506,
"delta": 0.0276,
"percent_delta": 0.0854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.512,
"after": 0.0,
"delta": -0.512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.349,
"after": 5.0,
"delta": 1.651,
"percent_delta": 0.493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.814,
"after": 0.0,
"delta": -0.814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.349 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.384 | - |
| predicted_H | 0.814 | - |
| predicted_HR | 0.047 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.407 | - |
| predicted_RBI | 0.372 | - |
| predicted_SLG | 0.323 | - |
| predicted_SO | 0.512 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | -0.018 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.397 | 0.048 |
| predicted_AVG | 0.249 | 0.006 |
| predicted_BB | 0.390 | 0.006 |
| predicted_H | 0.847 | 0.033 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.073 | 0.026 |
| predicted_OBP | 0.328 | 0.007 |
| predicted_R | 0.409 | 0.002 |
| predicted_RBI | 0.373 | 0.001 |
| predicted_SLG | 0.346 | 0.023 |
| predicted_SO | 0.589 | 0.077 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.397 | 0.000 |
| predicted_AVG | 0.253 | 0.004 |
| predicted_BB | 0.391 | 0.001 |
| predicted_H | 0.859 | 0.012 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.074 | 0.001 |
| predicted_OBP | 0.330 | 0.002 |
| predicted_R | 0.419 | 0.010 |
| predicted_RBI | 0.382 | 0.009 |
| predicted_SLG | 0.351 | 0.005 |
| predicted_SO | 0.588 | -0.001 |
AB rounded to 3 (raw=3.40), rates preserved: AVG=0.253 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.110 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.397 |
| predicted_AVG | 0.253 | 0.000 |
| predicted_BB | 0.000 | -0.391 |
| predicted_H | 1.000 | 0.141 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.335 | 0.005 |
| predicted_R | 0.000 | -0.419 |
| predicted_RBI | 0.000 | -0.382 |
| predicted_SLG | 0.358 | 0.007 |
| predicted_SO | 1.000 | 0.412 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 6.000 | 0.2778 | 0.3500 | 0.4444 | 0.2778 | 0.0556 | 0.0556 | 0.1111 | 0.3333 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 5.000 | 7.000 | 0.2857 | 0.3750 | 0.4571 | 0.2857 | 0.0571 | 0.1429 | 0.1429 | 0.2000 |
| season | 0.60 | 86 | - | 288.000 | 70.000 | 11.000 | 0.000 | 4.000 | 32.000 | 35.000 | 33.000 | 44.000 | 0.2431 | 0.3252 | 0.3229 | 0.2431 | 0.0139 | 0.1111 | 0.1146 | 0.1528 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4610 |
| predicted_AVG | 0.2577 |
| predicted_BB | 0.3990 |
| predicted_H | 0.8920 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1080 |
| predicted_OBP | 0.3372 |
| predicted_R | 0.4120 |
| predicted_RBI | 0.3740 |
| predicted_SLG | 0.3769 |
| predicted_SO | 0.6940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.0860 | 0.1101 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3490 | 3.4610 | 3.3966 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2577 | 0.2493 | model_form_blend |
| predicted_BB | 0.3840 | 0.3990 | 0.3904 | model_form_blend |
| predicted_H | 0.8140 | 0.8920 | 0.8472 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0470 | 0.1080 | 0.0729 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3372 | 0.3279 | model_form_blend |
| predicted_R | 0.4070 | 0.4120 | 0.4091 | model_form_blend |
| predicted_RBI | 0.3720 | 0.3740 | 0.3729 | model_form_blend |
| predicted_SLG | 0.3230 | 0.3769 | 0.3459 | model_form_blend |
| predicted_SO | 0.5120 | 0.6940 | 0.5894 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 120 |
| Season rows before report date | 120 |
| Report year | 2026 |
| Profile rows used | 86 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-3B |
| gameID | 20260819_SD@NYM |
| game_type | full |
| mlbID | 650859 |
| playerID | 650859 |
| playerName | Luis Rengifo |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 13.4 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.294 |
| sl_xwoba | 0.308 |
| sl_xba | 0.255 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 33.7 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 5.6 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 49.2 |
| at_bat_number | 66.0 |
| ab_pitcher | 673540.0 |
| ab_pitcher_name | Senga, Kodai |
| ab_home_team | NYM |
| ab_away_team | SD |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.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 | 4.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 4.0 |
| ab_event | single |
| ab_event_description | Luis Rengifo singles on a ground ball to left fielder A.J. Ewing. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 91.1 |
| ab_launch_angle_last | 6.0 |
| ab_hit_distance_last | 107.0 |
| ab_estimated_ba_last | 0.466 |
| ab_estimated_woba_last | 0.432 |
| ab_estimated_slg_last | 0.511 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 97.15 |
| ab_release_spin_rate_avg | 2396.25 |
| ab_effective_speed_avg | 97.5 |
| ab_launch_speed_avg | 86.55 |
| ab_launch_angle_avg | 8.0 |
| ab_delta_run_exp_avg | 0.1035 |
| ab_delta_home_win_exp_avg | -0.0055 |
| ab_delta_pitcher_run_exp_avg | -0.1035 |
| ab_bat_speed_avg | 68.4 |
| ab_swing_length_avg | 6.550000000000001 |
| ab_launch_speed_max | 91.1 |
| ab_hit_distance_sc_max | 132.0 |
| ab_release_speed_max | 98.6 |
| ab_release_spin_rate_max | 2448.0 |
| ab_release_speed_min | 96.3 |
| ab_release_spin_rate_min | 2346.0 |
| ab_delta_run_exp_sum | 0.414 |
| ab_delta_home_win_exp_sum | -0.022 |
| 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.161 | 0.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.780 | 4.000 | 5.000 | Hitting_AB | 3.990 | 4.000 | 0.010 | 0.000 |
| predicted_AVG | 0.193 | 0.250 | 0.200 | Hitting_AVG | 0.251 | 0.000 | -0.001 | 0.250 |
| predicted_BB | 0.266 | 1.000 | 0.000 | Hitting_BB | 0.283 | 0.000 | 0.717 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.920 | 1.000 | 1.000 | Hitting_H | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_OBP | 0.251 | 0.400 | 0.200 | Hitting_OBP | 0.302 | 0.000 | 0.098 | 0.400 |
| predicted_R | 0.524 | 1.000 | 1.000 | Hitting_R | 0.561 | 0.000 | 0.439 | 1.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.546 | 0.000 | -0.546 | 0.000 |
| predicted_SLG | 0.385 | 0.250 | 0.200 | Hitting_SLG | 0.422 | 0.000 | -0.172 | 0.250 |
| predicted_SO | 1.040 | 0.000 | 1.000 | Hitting_SO | 1.040 | 2.000 | -1.040 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.2660 -> 1.0000 (boost 0.7340, better) |
| Biggest Deboost | predicted_SO: 1.0400 -> 0.0000 (deboost -1.0400, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 3 | 3 | 2 | 4 | predicted_SO: 1.0400 -> 1.1155 (boost 0.0755, worse) | predicted_AB: 4.7800 -> 4.3451 (deboost -0.4349, worse) | Final model input calibrated with local 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.3736 -> 0.3624 (deboost -0.0112, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.3451 -> 5.0000 (boost 0.6549, better) | predicted_RBI: 0.4467 -> 0.0000 (deboost -0.4467, worse) | AB rounded to 5 (raw=4.78), rates preserved: AVG=0.184 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5145 -> 1.0000 (boost 0.4855, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3290 -> 0.3624 (boost 0.0334, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701538",
"player_name": "Jackson Merrill",
"position": "CF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.161,
"predicted_3B": 0.016,
"predicted_AB": 4.78,
"predicted_AVG": 0.193,
"predicted_BB": 0.266,
"predicted_H": 0.92,
"predicted_HR": 0.2,
"predicted_OBP": 0.251,
"predicted_R": 0.524,
"predicted_RBI": 0.46,
"predicted_SLG": 0.385,
"predicted_SO": 1.04
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.151,
"predicted_3B": 0.0134,
"predicted_AB": 4.3451,
"predicted_AVG": 0.2016,
"predicted_BB": 0.2547,
"predicted_H": 0.8696,
"predicted_HBP": 0.03,
"predicted_HR": 0.17,
"predicted_OBP": 0.2563,
"predicted_R": 0.5023,
"predicted_RBI": 0.4361,
"predicted_SLG": 0.3736,
"predicted_SO": 1.1155
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.151,
"delta": -0.01,
"percent_delta": -0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0134,
"delta": -0.0026,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.78,
"after": 4.3451,
"delta": -0.4349,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.193,
"after": 0.2016,
"delta": 0.0086,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 0.2547,
"delta": -0.0113,
"percent_delta": -0.0425,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.8696,
"delta": -0.0504,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.17,
"delta": -0.03,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.2563,
"delta": 0.0053,
"percent_delta": 0.0211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 0.5023,
"delta": -0.0217,
"percent_delta": -0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4361,
"delta": -0.0239,
"percent_delta": -0.052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3736,
"delta": -0.0114,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.04,
"after": 1.1155,
"delta": 0.0755,
"percent_delta": 0.0726,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.04,
"after": 1.1155,
"delta": 0.0755,
"percent_delta": 0.0726,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.78,
"after": 4.3451,
"delta": -0.4349,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.151,
"predicted_3B": 0.0134,
"predicted_AB": 4.3451,
"predicted_AVG": 0.2029,
"predicted_BB": 0.2553,
"predicted_H": 0.8817,
"predicted_HBP": 0.03,
"predicted_HR": 0.1717,
"predicted_OBP": 0.2471,
"predicted_R": 0.5145,
"predicted_RBI": 0.4467,
"predicted_SLG": 0.3624,
"predicted_SO": 1.113
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3451,
"after": 4.3451,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2016,
"after": 0.2029,
"delta": 0.0013,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2547,
"after": 0.2553,
"delta": 0.0006,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8696,
"after": 0.8817,
"delta": 0.0121,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.03,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1717,
"delta": 0.0017,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2563,
"after": 0.2471,
"delta": -0.0092,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5023,
"after": 0.5145,
"delta": 0.0122,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4361,
"after": 0.4467,
"delta": 0.0106,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3736,
"after": 0.3624,
"delta": -0.0112,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1155,
"after": 1.113,
"delta": -0.0025,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3736,
"after": 0.3624,
"delta": -0.0112,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.78), rates preserved: AVG=0.184 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0,
"delta": -0.0134,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3451,
"after": 5.0,
"delta": 0.6549,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2553,
"after": 0.0,
"delta": -0.2553,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8817,
"after": 1.0,
"delta": 0.1183,
"percent_delta": 0.1342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1717,
"after": 0.0,
"delta": -0.1717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4467,
"after": 0.0,
"delta": -0.4467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.113,
"after": 1.0,
"delta": -0.113,
"percent_delta": -0.1015,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3451,
"after": 5.0,
"delta": 0.6549,
"percent_delta": 0.1507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4467,
"after": 0.0,
"delta": -0.4467,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5145,
"after": 1.0,
"delta": 0.4855,
"percent_delta": 0.9436,
"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.5145,
"after": 1.0,
"delta": 0.4855,
"percent_delta": 0.9436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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": 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_R",
"before": 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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 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": 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.184,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.232,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.329,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2029,
"after": 0.184,
"delta": -0.0189,
"percent_delta": -0.0931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2471,
"after": 0.232,
"delta": -0.0151,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3624,
"after": 0.329,
"delta": -0.0334,
"percent_delta": -0.0922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2029,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2471,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3624,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.184,
"after": 0.2029,
"delta": 0.0189,
"percent_delta": 0.1028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.232,
"after": 0.2471,
"delta": 0.0151,
"percent_delta": 0.0653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.329,
"after": 0.3624,
"delta": 0.0334,
"percent_delta": 0.1015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.329,
"after": 0.3624,
"delta": 0.0334,
"percent_delta": 0.1015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.78,
"after": 4.0,
"delta": -0.78,
"percent_delta": -0.1632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.193,
"after": 0.2029,
"delta": 0.0099,
"percent_delta": 0.0513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.266,
"after": 1.0,
"delta": 0.734,
"percent_delta": 2.7594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.2471,
"delta": -0.0039,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 1.0,
"delta": 0.476,
"percent_delta": 0.9084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3624,
"delta": -0.0226,
"percent_delta": -0.0587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.266,
"after": 1.0,
"delta": 0.734,
"percent_delta": 2.7594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.161 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 4.780 | - |
| predicted_AVG | 0.193 | - |
| predicted_BB | 0.266 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.251 | - |
| predicted_R | 0.524 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.385 | - |
| predicted_SO | 1.040 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | -0.010 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 4.345 | -0.435 |
| predicted_AVG | 0.202 | 0.009 |
| predicted_BB | 0.255 | -0.011 |
| predicted_H | 0.870 | -0.050 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.170 | -0.030 |
| predicted_OBP | 0.256 | 0.005 |
| predicted_R | 0.502 | -0.022 |
| predicted_RBI | 0.436 | -0.024 |
| predicted_SLG | 0.374 | -0.011 |
| predicted_SO | 1.115 | 0.075 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.345 | 0.000 |
| predicted_AVG | 0.203 | 0.001 |
| predicted_BB | 0.255 | 0.001 |
| predicted_H | 0.882 | 0.012 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.172 | 0.002 |
| predicted_OBP | 0.247 | -0.009 |
| predicted_R | 0.514 | 0.012 |
| predicted_RBI | 0.447 | 0.011 |
| predicted_SLG | 0.362 | -0.011 |
| predicted_SO | 1.113 | -0.002 |
AB rounded to 5 (raw=4.78), rates preserved: AVG=0.184 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.151 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 5.000 | 0.655 |
| predicted_AVG | 0.184 | -0.019 |
| predicted_BB | 0.000 | -0.255 |
| predicted_H | 1.000 | 0.118 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.232 | -0.015 |
| predicted_R | 1.000 | 0.486 |
| predicted_RBI | 0.000 | -0.447 |
| predicted_SLG | 0.329 | -0.033 |
| predicted_SO | 1.000 | -0.113 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 9.000 | 0.1111 | 0.1579 | 0.1111 | 0.1111 | 0.0000 | 0.0000 | 0.0556 | 0.5000 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 2.000 | 0.000 | 2.000 | 5.000 | 6.000 | 2.000 | 12.000 | 0.2222 | 0.2750 | 0.4444 | 0.2222 | 0.0556 | 0.1389 | 0.0556 | 0.3333 |
| season | 0.60 | 124 | - | 483.000 | 116.000 | 20.000 | 2.000 | 19.000 | 63.000 | 65.000 | 33.000 | 129.000 | 0.2402 | 0.2904 | 0.4079 | 0.2402 | 0.0393 | 0.1304 | 0.0683 | 0.2671 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.7780 |
| predicted_AVG | 0.2128 |
| predicted_BB | 0.2400 |
| predicted_H | 0.8040 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.2632 |
| predicted_R | 0.4740 |
| predicted_RBI | 0.4050 |
| predicted_SLG | 0.3587 |
| predicted_SO | 1.2140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.1380 | 0.1510 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 4.7800 | 3.7780 | 4.3451 | model_form_blend |
| predicted_AVG | 0.1930 | 0.2128 | 0.2016 | model_form_blend |
| predicted_BB | 0.2660 | 0.2400 | 0.2547 | model_form_blend |
| predicted_H | 0.9200 | 0.8040 | 0.8696 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.2000 | 0.1310 | 0.1700 | model_form_blend |
| predicted_OBP | 0.2510 | 0.2632 | 0.2563 | model_form_blend |
| predicted_R | 0.5240 | 0.4740 | 0.5023 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4050 | 0.4361 | model_form_blend |
| predicted_SLG | 0.3850 | 0.3587 | 0.3736 | model_form_blend |
| predicted_SO | 1.0400 | 1.2140 | 1.1155 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 526 |
| Season rows before report date | 526 |
| 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | CF |
| gameID | 20260819_SD@NYM |
| game_type | full |
| mlbID | 701538 |
| playerID | 701538 |
| playerName | Jackson Merrill |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 24.7 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.303 |
| sl_xwoba | 0.329 |
| sl_xba | 0.256 |
| sl_xslg | 0.46 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 55.5 |
| at_bat_number | 65.0 |
| ab_pitcher | 673540.0 |
| ab_pitcher_name | Senga, Kodai |
| ab_home_team | NYM |
| ab_away_team | SD |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.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 | 4.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Jackson Merrill flies out to left fielder A.J. Ewing. |
| 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 | 93.7 |
| ab_launch_angle_last | 38.0 |
| ab_hit_distance_last | 312.0 |
| ab_estimated_ba_last | 0.069 |
| ab_estimated_woba_last | 0.113 |
| ab_estimated_slg_last | 0.2 |
| 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 | 4.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 96.7 |
| ab_release_spin_rate_avg | 2330.5 |
| ab_effective_speed_avg | 96.85 |
| ab_launch_speed_avg | 87.30000000000001 |
| ab_launch_angle_avg | 33.0 |
| ab_delta_run_exp_avg | -0.06475 |
| ab_delta_home_win_exp_avg | 0.00475 |
| ab_delta_pitcher_run_exp_avg | 0.06475 |
| ab_bat_speed_avg | 70.75 |
| ab_swing_length_avg | 7.449999999999999 |
| ab_launch_speed_max | 93.7 |
| ab_hit_distance_sc_max | 312.0 |
| ab_release_speed_max | 97.7 |
| ab_release_spin_rate_max | 2386.0 |
| ab_release_speed_min | 96.3 |
| ab_release_spin_rate_min | 2279.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | 0.019 |
| 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.160 | 0.000 | 0.000 | Hitting_2B | 0.166 | 0.000 | -0.166 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.530 | 4.000 | 5.000 | Hitting_AB | 3.766 | 4.000 | 0.234 | 0.000 |
| predicted_AVG | 0.232 | 0.500 | 0.200 | Hitting_AVG | 0.219 | 0.000 | 0.281 | 0.500 |
| predicted_BB | 0.464 | 1.000 | 1.000 | Hitting_BB | 0.475 | 0.000 | 0.525 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 1.050 | 2.000 | 1.000 | Hitting_H | 0.825 | 0.000 | 1.175 | 2.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_OBP | 0.311 | 0.600 | 0.333 | Hitting_OBP | 0.303 | 0.000 | 0.297 | 0.600 |
| predicted_R | 0.504 | 1.000 | 1.000 | Hitting_R | 0.530 | 0.000 | 0.470 | 1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.619 | 0.000 | -0.619 | 0.000 |
| predicted_SLG | 0.436 | 0.500 | 0.200 | Hitting_SLG | 0.424 | 0.000 | 0.076 | 0.500 |
| predicted_SO | 0.936 | 1.000 | 1.000 | Hitting_SO | 0.936 | 3.000 | 0.064 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 1.0500 -> 2.0000 (boost 0.9500, better) |
| Biggest Deboost | predicted_RBI: 0.5400 -> 0.0000 (deboost -0.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.5300 -> 4.1934 (deboost -0.3366, worse) | Final model input calibrated with local 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_AB: 4.1934 -> 5.0000 (boost 0.8066, better) | predicted_HR: 0.2192 -> 0.0000 (deboost -0.2192, worse) | AB rounded to 5 (raw=4.53), rates preserved: AVG=0.215 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4735 -> 0.0000 (deboost -0.4735, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 2 | 2 | predicted_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.3980 -> 0.4213 (boost 0.0233, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592518",
"player_name": "Manny Machado",
"position": "3B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.0,
"predicted_AB": 4.53,
"predicted_AVG": 0.232,
"predicted_BB": 0.464,
"predicted_H": 1.05,
"predicted_HR": 0.25,
"predicted_OBP": 0.311,
"predicted_R": 0.504,
"predicted_RBI": 0.54,
"predicted_SLG": 0.436,
"predicted_SO": 0.936
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1344,
"predicted_3B": 0.0004,
"predicted_AB": 4.1934,
"predicted_AVG": 0.2289,
"predicted_BB": 0.4588,
"predicted_H": 0.9605,
"predicted_HBP": 0.064,
"predicted_HR": 0.217,
"predicted_OBP": 0.3129,
"predicted_R": 0.4623,
"predicted_RBI": 0.4827,
"predicted_SLG": 0.4166,
"predicted_SO": 0.9464
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1344,
"delta": -0.0256,
"percent_delta": -0.16,
"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.53,
"after": 4.1934,
"delta": -0.3366,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2289,
"delta": -0.0031,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.464,
"after": 0.4588,
"delta": -0.0052,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.9605,
"delta": -0.0895,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.217,
"delta": -0.033,
"percent_delta": -0.132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3129,
"delta": 0.0019,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.504,
"after": 0.4623,
"delta": -0.0417,
"percent_delta": -0.0827,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.4827,
"delta": -0.0573,
"percent_delta": -0.1061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4166,
"delta": -0.0194,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.936,
"after": 0.9464,
"delta": 0.0104,
"percent_delta": 0.0111,
"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.53,
"after": 4.1934,
"delta": -0.3366,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 125
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1344,
"predicted_3B": 0.0004,
"predicted_AB": 4.1934,
"predicted_AVG": 0.2322,
"predicted_BB": 0.4598,
"predicted_H": 0.9739,
"predicted_HBP": 0.064,
"predicted_HR": 0.2192,
"predicted_OBP": 0.3081,
"predicted_R": 0.4735,
"predicted_RBI": 0.4944,
"predicted_SLG": 0.4213,
"predicted_SO": 0.9443
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1344,
"after": 0.1344,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1934,
"after": 4.1934,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2289,
"after": 0.2322,
"delta": 0.0033,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4588,
"after": 0.4598,
"delta": 0.001,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9605,
"after": 0.9739,
"delta": 0.0134,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.064,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.217,
"after": 0.2192,
"delta": 0.0022,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3129,
"after": 0.3081,
"delta": -0.0048,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4623,
"after": 0.4735,
"delta": 0.0112,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4827,
"after": 0.4944,
"delta": 0.0117,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4166,
"after": 0.4213,
"delta": 0.0047,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9464,
"after": 0.9443,
"delta": -0.0021,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.53), rates preserved: AVG=0.215 HR/AB=0.048",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1344,
"after": 0.0,
"delta": -0.1344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1934,
"after": 5.0,
"delta": 0.8066,
"percent_delta": 0.1923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4598,
"after": 1.0,
"delta": 0.5402,
"percent_delta": 1.1749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9739,
"after": 1.0,
"delta": 0.0261,
"percent_delta": 0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.064,
"after": 0.0,
"delta": -0.064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2192,
"after": 0.0,
"delta": -0.2192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4944,
"after": 1.0,
"delta": 0.5056,
"percent_delta": 1.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9443,
"after": 1.0,
"delta": 0.0557,
"percent_delta": 0.059,
"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": 4.1934,
"after": 5.0,
"delta": 0.8066,
"percent_delta": 0.1923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2192,
"after": 0.0,
"delta": -0.2192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4735,
"after": 0.0,
"delta": -0.4735,
"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.4735,
"after": 0.0,
"delta": -0.4735,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.215,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.398,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2322,
"after": 0.215,
"delta": -0.0172,
"percent_delta": -0.0741,
"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.3081,
"after": 0.293,
"delta": -0.0151,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4213,
"after": 0.398,
"delta": -0.0233,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 2,
"deboosted_metrics": 2,
"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.2322,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3081,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4213,
"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.215,
"after": 0.2322,
"delta": 0.0172,
"percent_delta": 0.0802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3081,
"delta": 0.0151,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.398,
"after": 0.4213,
"delta": 0.0233,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.4213,
"delta": 0.0233,
"percent_delta": 0.0585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.53,
"after": 4.0,
"delta": -0.53,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2322,
"delta": 0.0002,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.464,
"after": 1.0,
"delta": 0.536,
"percent_delta": 1.1552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.0,
"delta": 0.95,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3081,
"delta": -0.0029,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.504,
"after": 1.0,
"delta": 0.496,
"percent_delta": 0.9841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4213,
"delta": -0.0147,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.936,
"after": 1.0,
"delta": 0.064,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.05,
"after": 2.0,
"delta": 0.95,
"percent_delta": 0.9048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.530 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.464 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.504 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.436 | - |
| predicted_SO | 0.936 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.026 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.193 | -0.337 |
| predicted_AVG | 0.229 | -0.003 |
| predicted_BB | 0.459 | -0.005 |
| predicted_H | 0.961 | -0.090 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.217 | -0.033 |
| predicted_OBP | 0.313 | 0.002 |
| predicted_R | 0.462 | -0.042 |
| predicted_RBI | 0.483 | -0.057 |
| predicted_SLG | 0.417 | -0.019 |
| predicted_SO | 0.946 | 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.134 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.193 | 0.000 |
| predicted_AVG | 0.232 | 0.003 |
| predicted_BB | 0.460 | 0.001 |
| predicted_H | 0.974 | 0.013 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.219 | 0.002 |
| predicted_OBP | 0.308 | -0.005 |
| predicted_R | 0.473 | 0.011 |
| predicted_RBI | 0.494 | 0.012 |
| predicted_SLG | 0.421 | 0.005 |
| predicted_SO | 0.944 | -0.002 |
AB rounded to 5 (raw=4.53), rates preserved: AVG=0.215 HR/AB=0.048
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.000 |
| predicted_AB | 5.000 | 0.807 |
| predicted_AVG | 0.215 | -0.017 |
| predicted_BB | 1.000 | 0.540 |
| predicted_H | 1.000 | 0.026 |
| predicted_HR | 0.000 | -0.219 |
| predicted_OBP | 0.293 | -0.015 |
| predicted_R | 0.000 | -0.473 |
| predicted_RBI | 1.000 | 0.506 |
| predicted_SLG | 0.398 | -0.023 |
| predicted_SO | 1.000 | 0.056 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 3.000 | 6.000 | 0.2222 | 0.3636 | 0.3889 | 0.2222 | 0.0556 | 0.0556 | 0.1667 | 0.3333 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 8.000 | 0.2500 | 0.3182 | 0.3250 | 0.2500 | 0.0250 | 0.0250 | 0.0750 | 0.2000 |
| season | 0.60 | 125 | - | 465.000 | 100.000 | 20.000 | 0.000 | 24.000 | 71.000 | 63.000 | 58.000 | 117.000 | 0.2151 | 0.2994 | 0.4129 | 0.2150 | 0.0516 | 0.1527 | 0.1247 | 0.2516 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1010 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7550 |
| predicted_AVG | 0.2248 |
| predicted_BB | 0.4520 |
| predicted_H | 0.8440 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.1740 |
| predicted_OBP | 0.3154 |
| predicted_R | 0.4080 |
| predicted_RBI | 0.4080 |
| predicted_SLG | 0.3914 |
| predicted_SO | 0.9600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1010 | 0.1344 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5300 | 3.7550 | 4.1934 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2248 | 0.2289 | model_form_blend |
| predicted_BB | 0.4640 | 0.4520 | 0.4588 | model_form_blend |
| predicted_H | 1.0500 | 0.8440 | 0.9605 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.2500 | 0.1740 | 0.2170 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3154 | 0.3129 | model_form_blend |
| predicted_R | 0.5040 | 0.4080 | 0.4623 | model_form_blend |
| predicted_RBI | 0.5400 | 0.4080 | 0.4827 | model_form_blend |
| predicted_SLG | 0.4360 | 0.3914 | 0.4166 | model_form_blend |
| predicted_SO | 0.9360 | 0.9600 | 0.9464 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 530 |
| Season rows before report date | 530 |
| Report year | 2026 |
| Profile rows used | 125 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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_SD@NYM |
| game_type | full |
| mlbID | 592518 |
| playerID | 592518 |
| playerName | Manny Machado |
| pos | 3B |
| started | True |
| startingPosition | DH |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 22.0 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.309 |
| sl_xwoba | 0.329 |
| sl_xba | 0.243 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 47.7 |
| at_bat_number | 56.0 |
| ab_pitcher | 650960.0 |
| ab_pitcher_name | Duarte, Daniel |
| ab_home_team | NYM |
| ab_away_team | SD |
| ab_game_type | R |
| ab_stand | R |
| 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 | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Manny Machado 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 | 9.0 |
| ab_launch_speed_last | 71.5 |
| ab_launch_angle_last | 9.0 |
| ab_hit_distance_last | 103.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 | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 87.225 |
| ab_release_spin_rate_avg | 2608.5 |
| ab_effective_speed_avg | 86.975 |
| ab_launch_speed_avg | 71.5 |
| ab_launch_angle_avg | 9.0 |
| ab_delta_run_exp_avg | -0.0655 |
| ab_delta_home_win_exp_avg | 0.01025 |
| ab_delta_pitcher_run_exp_avg | 0.0655 |
| ab_bat_speed_avg | 76.3 |
| ab_swing_length_avg | 8.4 |
| ab_launch_speed_max | 71.5 |
| ab_hit_distance_sc_max | 103.0 |
| ab_release_speed_max | 96.8 |
| ab_release_spin_rate_max | 2764.0 |
| ab_release_speed_min | 80.7 |
| ab_release_spin_rate_min | 2466.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.177 | 1.000 | 1.000 | Hitting_2B | 0.196 | 1.000 | 0.804 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.470 | 5.000 | 4.000 | Hitting_AB | 3.590 | 3.000 | 1.410 | 2.000 |
| predicted_AVG | 0.261 | 0.200 | 0.250 | Hitting_AVG | 0.296 | 0.333 | -0.096 | -0.133 |
| predicted_BB | 0.208 | 0.000 | 0.000 | Hitting_BB | 0.220 | 1.000 | -0.220 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.910 | 1.000 | 1.000 | Hitting_H | 1.062 | 1.000 | -0.062 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_OBP | 0.341 | 0.200 | 0.250 | Hitting_OBP | 0.353 | 0.500 | -0.153 | -0.300 |
| predicted_R | 0.448 | 1.000 | 0.000 | Hitting_R | 0.485 | 0.000 | 0.515 | 1.000 |
| predicted_RBI | 0.410 | 1.000 | 1.000 | Hitting_RBI | 0.582 | 0.000 | 0.418 | 1.000 |
| predicted_SLG | 0.420 | 0.400 | 0.500 | Hitting_SLG | 0.518 | 0.667 | -0.118 | -0.267 |
| predicted_SO | 0.854 | 1.000 | 1.000 | Hitting_SO | 0.863 | 1.000 | 0.137 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 3.4700 -> 5.0000 (boost 1.5300, better) |
| Biggest Deboost | predicted_BB: 0.2080 -> 0.0000 (deboost -0.2080, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4200 -> 0.4277 (boost 0.0077, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4277 -> 0.4427 (boost 0.0150, better) | predicted_OBP: 0.3412 -> 0.3143 (deboost -0.0269, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_AB: 3.5021 -> 4.0000 (boost 0.4979, better) | predicted_RBI: 0.4234 -> 0.0000 (deboost -0.4234, worse) | AB rounded to 4 (raw=3.50), rates preserved: AVG=0.269 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4216 -> 0.0000 (deboost -0.4216, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3143 -> 0.3200 (boost 0.0057, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3200 -> 0.3143 (deboost -0.0057, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664034",
"player_name": "Ty France",
"position": "1B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.177,
"predicted_3B": 0.021,
"predicted_AB": 3.47,
"predicted_AVG": 0.261,
"predicted_BB": 0.208,
"predicted_H": 0.91,
"predicted_HR": 0.13,
"predicted_OBP": 0.341,
"predicted_R": 0.448,
"predicted_RBI": 0.41,
"predicted_SLG": 0.42,
"predicted_SO": 0.854
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1808,
"predicted_3B": 0.0176,
"predicted_AB": 3.5021,
"predicted_AVG": 0.2645,
"predicted_BB": 0.2315,
"predicted_H": 0.9288,
"predicted_HBP": 0.139,
"predicted_HR": 0.1296,
"predicted_OBP": 0.3412,
"predicted_R": 0.4116,
"predicted_RBI": 0.4134,
"predicted_SLG": 0.4277,
"predicted_SO": 0.8621
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 0.1808,
"delta": 0.0038,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0176,
"delta": -0.0034,
"percent_delta": -0.1619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.47,
"after": 3.5021,
"delta": 0.0321,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2645,
"delta": 0.0035,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.208,
"after": 0.2315,
"delta": 0.0235,
"percent_delta": 0.113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9288,
"delta": 0.0188,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1296,
"delta": -0.0004,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3412,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.4116,
"delta": -0.0364,
"percent_delta": -0.0812,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4134,
"delta": 0.0034,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4277,
"delta": 0.0077,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.854,
"after": 0.8621,
"delta": 0.0081,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4277,
"delta": 0.0077,
"percent_delta": 0.0183,
"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": 96
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1808,
"predicted_3B": 0.0176,
"predicted_AB": 3.5021,
"predicted_AVG": 0.2689,
"predicted_BB": 0.232,
"predicted_H": 0.9417,
"predicted_HBP": 0.139,
"predicted_HR": 0.1309,
"predicted_OBP": 0.3143,
"predicted_R": 0.4216,
"predicted_RBI": 0.4234,
"predicted_SLG": 0.4427,
"predicted_SO": 0.8602
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1808,
"after": 0.1808,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0176,
"after": 0.0176,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5021,
"after": 3.5021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2645,
"after": 0.2689,
"delta": 0.0044,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2315,
"after": 0.232,
"delta": 0.0005,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9288,
"after": 0.9417,
"delta": 0.0129,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.139,
"after": 0.139,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1296,
"after": 0.1309,
"delta": 0.0013,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3412,
"after": 0.3143,
"delta": -0.0269,
"percent_delta": -0.0788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4116,
"after": 0.4216,
"delta": 0.01,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4134,
"after": 0.4234,
"delta": 0.01,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4277,
"after": 0.4427,
"delta": 0.015,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8621,
"after": 0.8602,
"delta": -0.0019,
"percent_delta": -0.0022,
"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.4277,
"after": 0.4427,
"delta": 0.015,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3412,
"after": 0.3143,
"delta": -0.0269,
"percent_delta": -0.0788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.50), rates preserved: AVG=0.269 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.1808,
"after": 0.0,
"delta": -0.1808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0176,
"after": 0.0,
"delta": -0.0176,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5021,
"after": 4.0,
"delta": 0.4979,
"percent_delta": 0.1422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.232,
"after": 0.0,
"delta": -0.232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9417,
"after": 1.0,
"delta": 0.0583,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.139,
"after": 0.0,
"delta": -0.139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1309,
"after": 0.0,
"delta": -0.1309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4234,
"after": 0.0,
"delta": -0.4234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8602,
"after": 1.0,
"delta": 0.1398,
"percent_delta": 0.1625,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5021,
"after": 4.0,
"delta": 0.4979,
"percent_delta": 0.1422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4234,
"after": 0.0,
"delta": -0.4234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4216,
"after": 0.0,
"delta": -0.4216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4216,
"after": 0.0,
"delta": -0.4216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 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": 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.269,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.32,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.443,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2689,
"after": 0.269,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3143,
"after": 0.32,
"delta": 0.0057,
"percent_delta": 0.0181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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_SLG",
"before": 0.4427,
"after": 0.443,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.3143,
"after": 0.32,
"delta": 0.0057,
"percent_delta": 0.0181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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": 5.0,
"predicted_AVG": 0.2689,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3143,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4427,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2689,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3143,
"delta": -0.0057,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4427,
"delta": -0.0003,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.32,
"after": 0.3143,
"delta": -0.0057,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.177,
"after": 1.0,
"delta": 0.823,
"percent_delta": 4.6497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.47,
"after": 5.0,
"delta": 1.53,
"percent_delta": 0.4409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2689,
"delta": 0.0079,
"percent_delta": 0.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.0,
"delta": 0.09,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3143,
"delta": -0.0267,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4427,
"delta": 0.0227,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.854,
"after": 1.0,
"delta": 0.146,
"percent_delta": 0.171,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.47,
"after": 5.0,
"delta": 1.53,
"percent_delta": 0.4409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"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.177 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.470 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.208 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.448 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.854 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | 0.004 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 3.502 | 0.032 |
| predicted_AVG | 0.265 | 0.004 |
| predicted_BB | 0.232 | 0.024 |
| predicted_H | 0.929 | 0.019 |
| predicted_HBP | 0.139 | - |
| predicted_HR | 0.130 | -0.000 |
| predicted_OBP | 0.341 | 0.000 |
| predicted_R | 0.412 | -0.036 |
| predicted_RBI | 0.413 | 0.003 |
| predicted_SLG | 0.428 | 0.008 |
| predicted_SO | 0.862 | 0.008 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.502 | 0.000 |
| predicted_AVG | 0.269 | 0.004 |
| predicted_BB | 0.232 | 0.001 |
| predicted_H | 0.942 | 0.013 |
| predicted_HBP | 0.139 | 0.000 |
| predicted_HR | 0.131 | 0.001 |
| predicted_OBP | 0.314 | -0.027 |
| predicted_R | 0.422 | 0.010 |
| predicted_RBI | 0.423 | 0.010 |
| predicted_SLG | 0.443 | 0.015 |
| predicted_SO | 0.860 | -0.002 |
AB rounded to 4 (raw=3.50), rates preserved: AVG=0.269 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.181 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 4.000 | 0.498 |
| predicted_AVG | 0.269 | 0.000 |
| predicted_BB | 0.000 | -0.232 |
| predicted_H | 1.000 | 0.058 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.320 | 0.006 |
| predicted_R | 0.000 | -0.422 |
| predicted_RBI | 0.000 | -0.423 |
| predicted_SLG | 0.443 | 0.000 |
| predicted_SO | 1.000 | 0.140 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 5.000 | 0.1667 | 0.2857 | 0.2222 | 0.1667 | 0.0000 | 0.0556 | 0.1111 | 0.2778 |
| last_10 | 0.20 | 10 | - | 38.000 | 12.000 | 2.000 | 0.000 | 1.000 | 2.000 | 4.000 | 3.000 | 8.000 | 0.3158 | 0.3953 | 0.4474 | 0.3158 | 0.0263 | 0.0526 | 0.0790 | 0.2105 |
| season | 0.60 | 96 | - | 327.000 | 95.000 | 17.000 | 2.000 | 17.000 | 52.000 | 43.000 | 20.000 | 82.000 | 0.2905 | 0.3471 | 0.5107 | 0.2905 | 0.0520 | 0.1590 | 0.0612 | 0.2508 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.5450 |
| predicted_AVG | 0.2691 |
| predicted_BB | 0.2630 |
| predicted_H | 0.9540 |
| predicted_HBP | 0.1390 |
| predicted_HR | 0.1290 |
| predicted_OBP | 0.3415 |
| predicted_R | 0.3630 |
| predicted_RBI | 0.4180 |
| predicted_SLG | 0.4379 |
| predicted_SO | 0.8730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1770 | 0.1860 | 0.1808 | model_form_blend |
| predicted_3B | 0.0210 | 0.0130 | 0.0176 | model_form_blend |
| predicted_AB | 3.4700 | 3.5450 | 3.5021 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2691 | 0.2645 | model_form_blend |
| predicted_BB | 0.2080 | 0.2630 | 0.2315 | model_form_blend |
| predicted_H | 0.9100 | 0.9540 | 0.9288 | model_form_blend |
| predicted_HBP | - | 0.1390 | 0.1390 | form_only |
| predicted_HR | 0.1300 | 0.1290 | 0.1296 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3415 | 0.3412 | model_form_blend |
| predicted_R | 0.4480 | 0.3630 | 0.4116 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4180 | 0.4134 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4379 | 0.4277 | model_form_blend |
| predicted_SO | 0.8540 | 0.8730 | 0.8621 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 373 |
| Season rows before report date | 373 |
| Report year | 2026 |
| Profile rows used | 96 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260819_SD@NYM |
| game_type | full |
| mlbID | 664034 |
| playerID | 664034 |
| playerName | Ty France |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.369 |
| sl_xwoba | 0.326 |
| sl_xba | 0.25 |
| sl_xslg | 0.429 |
| sl_sweet_spot_percent | 37.2 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 49.2 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 53.1 |
| at_bat_number | 57.0 |
| ab_pitcher | 650960.0 |
| ab_pitcher_name | Duarte, Daniel |
| ab_home_team | NYM |
| ab_away_team | SD |
| 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 | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Ty France lines out to center fielder Luis Robert Jr. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 77.6 |
| ab_launch_angle_last | 30.0 |
| ab_hit_distance_last | 277.0 |
| ab_estimated_ba_last | 0.174 |
| ab_estimated_woba_last | 0.169 |
| ab_estimated_slg_last | 0.227 |
| 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 | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 92.35 |
| ab_release_spin_rate_avg | 2314.0 |
| ab_effective_speed_avg | 92.1 |
| ab_launch_speed_avg | 77.6 |
| ab_launch_angle_avg | 30.0 |
| ab_delta_run_exp_avg | -0.1295 |
| ab_delta_home_win_exp_avg | 0.0135 |
| ab_delta_pitcher_run_exp_avg | 0.1295 |
| ab_bat_speed_avg | 73.80000000000001 |
| ab_swing_length_avg | 7.9 |
| ab_launch_speed_max | 77.6 |
| ab_hit_distance_sc_max | 277.0 |
| ab_release_speed_max | 93.9 |
| ab_release_spin_rate_max | 2391.0 |
| ab_release_speed_min | 90.8 |
| ab_release_spin_rate_min | 2237.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 | 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 | 0.000 | 0.000 | Hitting_2B | 0.225 | 1.000 | -0.225 | -1.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.580 | 5.000 | 5.000 | Hitting_AB | 4.009 | 3.000 | 0.991 | 2.000 |
| predicted_AVG | 0.251 | 0.200 | 0.200 | Hitting_AVG | 0.286 | 0.333 | -0.086 | -0.133 |
| predicted_BB | 0.419 | 0.000 | 1.000 | Hitting_BB | 0.428 | 1.000 | -0.428 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_H | 1.150 | 1.000 | 1.000 | Hitting_H | 1.145 | 1.000 | -0.145 | 0.000 |
| predicted_HR | 0.320 | 0.000 | 1.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.361 | 0.200 | 0.333 | Hitting_OBP | 0.357 | 0.500 | -0.157 | -0.300 |
| predicted_R | 0.565 | 0.000 | 1.000 | Hitting_R | 0.598 | 0.000 | -0.598 | 0.000 |
| predicted_RBI | 0.900 | 0.000 | 1.000 | Hitting_RBI | 0.522 | 1.000 | -0.522 | -1.000 |
| predicted_SLG | 0.512 | 0.200 | 0.800 | Hitting_SLG | 0.447 | 0.667 | -0.247 | -0.467 |
| predicted_SO | 0.831 | 2.000 | 1.000 | Hitting_SO | 0.850 | 0.000 | 1.150 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8310 -> 2.0000 (boost 1.1690, worse) |
| Biggest Deboost | predicted_RBI: 0.9000 -> 0.0000 (deboost -0.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 3 | 2 | predicted_AVG: 0.2510 -> 0.2620 (boost 0.0110, better) | predicted_AB: 4.5800 -> 4.2516 (deboost -0.3284, worse) | Final model input calibrated with local 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.5210 -> 0.5267 (boost 0.0057, better) | predicted_OBP: 0.3580 -> 0.3346 (deboost -0.0234, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.2516 -> 5.0000 (boost 0.7484, better) | predicted_BB: 0.4483 -> 0.0000 (deboost -0.4483, worse) | AB rounded to 5 (raw=4.58), rates preserved: AVG=0.246 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6010 -> 1.0000 (boost 0.3990, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 2 | 0 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 5 | 0 | 5 | 0 | 5 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4890 -> 0.5267 (boost 0.0377, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.21,
"predicted_3B": 0.016,
"predicted_AB": 4.58,
"predicted_AVG": 0.251,
"predicted_BB": 0.419,
"predicted_H": 1.15,
"predicted_HR": 0.32,
"predicted_OBP": 0.361,
"predicted_R": 0.565,
"predicted_RBI": 0.9,
"predicted_SLG": 0.512,
"predicted_SO": 0.831
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2078,
"predicted_3B": 0.0134,
"predicted_AB": 4.2516,
"predicted_AVG": 0.262,
"predicted_BB": 0.4473,
"predicted_H": 1.1091,
"predicted_HBP": 0.024,
"predicted_HR": 0.2904,
"predicted_OBP": 0.358,
"predicted_R": 0.5867,
"predicted_RBI": 0.8087,
"predicted_SLG": 0.521,
"predicted_SO": 0.7749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.2078,
"delta": -0.0022,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0134,
"delta": -0.0026,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 4.2516,
"delta": -0.3284,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.262,
"delta": 0.011,
"percent_delta": 0.0438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.4473,
"delta": 0.0283,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.1091,
"delta": -0.0409,
"percent_delta": -0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.2904,
"delta": -0.0296,
"percent_delta": -0.0925,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.358,
"delta": -0.003,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.565,
"after": 0.5867,
"delta": 0.0217,
"percent_delta": 0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9,
"after": 0.8087,
"delta": -0.0913,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.512,
"after": 0.521,
"delta": 0.009,
"percent_delta": 0.0176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 0.7749,
"delta": -0.0561,
"percent_delta": -0.0675,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.262,
"delta": 0.011,
"percent_delta": 0.0438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 4.2516,
"delta": -0.3284,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2078,
"predicted_3B": 0.0134,
"predicted_AB": 4.2516,
"predicted_AVG": 0.2645,
"predicted_BB": 0.4483,
"predicted_H": 1.1245,
"predicted_HBP": 0.024,
"predicted_HR": 0.2934,
"predicted_OBP": 0.3346,
"predicted_R": 0.601,
"predicted_RBI": 0.8284,
"predicted_SLG": 0.5267,
"predicted_SO": 0.7732
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2078,
"after": 0.2078,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2516,
"after": 4.2516,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2645,
"delta": 0.0025,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4473,
"after": 0.4483,
"delta": 0.001,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1091,
"after": 1.1245,
"delta": 0.0154,
"percent_delta": 0.0139,
"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.2904,
"after": 0.2934,
"delta": 0.003,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3346,
"delta": -0.0234,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5867,
"after": 0.601,
"delta": 0.0143,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8087,
"after": 0.8284,
"delta": 0.0197,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.521,
"after": 0.5267,
"delta": 0.0057,
"percent_delta": 0.0109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7749,
"after": 0.7732,
"delta": -0.0017,
"percent_delta": -0.0022,
"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.521,
"after": 0.5267,
"delta": 0.0057,
"percent_delta": 0.0109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3346,
"delta": -0.0234,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.58), rates preserved: AVG=0.246 HR/AB=0.064",
"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.2078,
"after": 0.0,
"delta": -0.2078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0,
"delta": -0.0134,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2516,
"after": 5.0,
"delta": 0.7484,
"percent_delta": 0.176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4483,
"after": 0.0,
"delta": -0.4483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1245,
"after": 1.0,
"delta": -0.1245,
"percent_delta": -0.1107,
"direction": "deboost",
"projection_effect": "worse",
"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.2934,
"after": 0.0,
"delta": -0.2934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8284,
"after": 1.0,
"delta": 0.1716,
"percent_delta": 0.2071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7732,
"after": 1.0,
"delta": 0.2268,
"percent_delta": 0.2933,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.2516,
"after": 5.0,
"delta": 0.7484,
"percent_delta": 0.176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4483,
"after": 0.0,
"delta": -0.4483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.601,
"after": 1.0,
"delta": 0.399,
"percent_delta": 0.6639,
"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.601,
"after": 1.0,
"delta": 0.399,
"percent_delta": 0.6639,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.246,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.318,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.489,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2645,
"after": 0.246,
"delta": -0.0185,
"percent_delta": -0.0699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3346,
"after": 0.318,
"delta": -0.0166,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5267,
"after": 0.489,
"delta": -0.0377,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2645,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5267,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.246,
"after": 0.2645,
"delta": 0.0185,
"percent_delta": 0.0752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3346,
"delta": 0.0166,
"percent_delta": 0.0523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.5267,
"delta": 0.0377,
"percent_delta": 0.077,
"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.489,
"after": 0.5267,
"delta": 0.0377,
"percent_delta": 0.077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 5.0,
"delta": 0.42,
"percent_delta": 0.0917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2645,
"delta": 0.0135,
"percent_delta": 0.0538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.0,
"delta": -0.15,
"percent_delta": -0.1304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3346,
"delta": -0.0264,
"percent_delta": -0.0731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.565,
"after": 0.0,
"delta": -0.565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.512,
"after": 0.5267,
"delta": 0.0147,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.831,
"after": 2.0,
"delta": 1.169,
"percent_delta": 1.4067,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.831,
"after": 2.0,
"delta": 1.169,
"percent_delta": 1.4067,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 4.580 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.419 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.320 | - |
| predicted_OBP | 0.361 | - |
| predicted_R | 0.565 | - |
| predicted_RBI | 0.900 | - |
| predicted_SLG | 0.512 | - |
| predicted_SO | 0.831 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | -0.002 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 4.252 | -0.328 |
| predicted_AVG | 0.262 | 0.011 |
| predicted_BB | 0.447 | 0.028 |
| predicted_H | 1.109 | -0.041 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.290 | -0.030 |
| predicted_OBP | 0.358 | -0.003 |
| predicted_R | 0.587 | 0.022 |
| predicted_RBI | 0.809 | -0.091 |
| predicted_SLG | 0.521 | 0.009 |
| predicted_SO | 0.775 | -0.056 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.252 | 0.000 |
| predicted_AVG | 0.265 | 0.003 |
| predicted_BB | 0.448 | 0.001 |
| predicted_H | 1.125 | 0.015 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.293 | 0.003 |
| predicted_OBP | 0.335 | -0.023 |
| predicted_R | 0.601 | 0.014 |
| predicted_RBI | 0.828 | 0.020 |
| predicted_SLG | 0.527 | 0.006 |
| predicted_SO | 0.773 | -0.002 |
AB rounded to 5 (raw=4.58), rates preserved: AVG=0.246 HR/AB=0.064
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.208 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 5.000 | 0.748 |
| predicted_AVG | 0.246 | -0.019 |
| predicted_BB | 0.000 | -0.448 |
| predicted_H | 1.000 | -0.125 |
| predicted_HR | 0.000 | -0.293 |
| predicted_OBP | 0.318 | -0.017 |
| predicted_R | 1.000 | 0.399 |
| predicted_RBI | 1.000 | 0.172 |
| predicted_SLG | 0.489 | -0.038 |
| predicted_SO | 1.000 | 0.227 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 2.000 | 5.000 | 3.000 | 3.000 | 3.000 | 0.2778 | 0.3636 | 0.6667 | 0.2778 | 0.1111 | 0.2778 | 0.1667 | 0.1667 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 2.000 | 0.000 | 5.000 | 10.000 | 8.000 | 6.000 | 4.000 | 0.2703 | 0.3636 | 0.7297 | 0.2703 | 0.1351 | 0.2703 | 0.1622 | 0.1081 |
| season | 0.60 | 124 | - | 489.000 | 137.000 | 26.000 | 2.000 | 15.000 | 60.000 | 70.000 | 52.000 | 103.000 | 0.2802 | 0.3521 | 0.4335 | 0.2802 | 0.0307 | 0.1227 | 0.1063 | 0.2106 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2050 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8250 |
| predicted_AVG | 0.2762 |
| predicted_BB | 0.4840 |
| predicted_H | 1.0560 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.2520 |
| predicted_OBP | 0.3540 |
| predicted_R | 0.6150 |
| predicted_RBI | 0.6900 |
| predicted_SLG | 0.5326 |
| predicted_SO | 0.7020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2100 | 0.2050 | 0.2078 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 4.5800 | 3.8250 | 4.2516 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2762 | 0.2620 | model_form_blend |
| predicted_BB | 0.4190 | 0.4840 | 0.4473 | model_form_blend |
| predicted_H | 1.1500 | 1.0560 | 1.1091 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.3200 | 0.2520 | 0.2904 | model_form_blend |
| predicted_OBP | 0.3610 | 0.3540 | 0.3580 | model_form_blend |
| predicted_R | 0.5650 | 0.6150 | 0.5867 | model_form_blend |
| predicted_RBI | 0.9000 | 0.6900 | 0.8087 | model_form_blend |
| predicted_SLG | 0.5120 | 0.5326 | 0.5210 | model_form_blend |
| predicted_SO | 0.8310 | 0.7020 | 0.7749 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 552 |
| Season rows before report date | 552 |
| 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260819_SD@NYM |
| game_type | full |
| mlbID | 665487 |
| playerID | 665487 |
| playerName | Fernando Tatis Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.343 |
| sl_xwoba | 0.371 |
| sl_xba | 0.29 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 52.7 |
| sl_exit_velocity_avg | 92.6 |
| sl_launch_angle_avg | 5.5 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 45.9 |
| at_bat_number | 49.0 |
| ab_pitcher | 681810.0 |
| ab_pitcher_name | Warren, Austin |
| ab_home_team | NYM |
| ab_away_team | SD |
| 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_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Fernando Tatis Jr. flies out to center fielder A.J. Ewing. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 92.9 |
| ab_launch_angle_last | 30.0 |
| ab_hit_distance_last | 350.0 |
| ab_estimated_ba_last | 0.117 |
| ab_estimated_woba_last | 0.189 |
| ab_estimated_slg_last | 0.323 |
| 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 | 1.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 90.82 |
| ab_release_spin_rate_avg | 2561.6 |
| ab_effective_speed_avg | 91.18 |
| ab_launch_speed_avg | 92.9 |
| ab_launch_angle_avg | 30.0 |
| ab_delta_run_exp_avg | -0.052 |
| ab_delta_home_win_exp_avg | 0.0042 |
| ab_delta_pitcher_run_exp_avg | 0.052 |
| ab_bat_speed_avg | 78.3 |
| ab_swing_length_avg | 7.8 |
| ab_launch_speed_max | 92.9 |
| ab_hit_distance_sc_max | 350.0 |
| ab_release_speed_max | 94.7 |
| ab_release_spin_rate_max | 2818.0 |
| ab_release_speed_min | 85.2 |
| ab_release_spin_rate_min | 2316.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | 0.0209999999999999 |
| 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.056 | 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.278 | 5.000 | 3.000 | Hitting_AB | 3.500 | 1.000 | 1.500 | 4.000 |
| predicted_AVG | 0.229 | 0.400 | 0.000 | Hitting_AVG | 0.268 | 0.000 | 0.132 | 0.400 |
| predicted_BB | 0.056 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.310 | 2.000 | 0.000 | Hitting_H | 0.938 | 0.000 | 1.062 | 2.000 |
| predicted_HR | 0.050 | 1.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | 0.938 | 1.000 |
| predicted_OBP | 0.249 | 0.400 | 0.000 | Hitting_OBP | 0.268 | 0.000 | 0.132 | 0.400 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.688 | 0.000 | 0.312 | 1.000 |
| predicted_RBI | 0.290 | 2.000 | 0.000 | Hitting_RBI | 0.438 | 0.000 | 1.562 | 2.000 |
| predicted_SLG | 0.359 | 1.000 | 0.000 | Hitting_SLG | 0.321 | 0.000 | 0.679 | 1.000 |
| predicted_SO | 0.889 | 1.000 | 1.000 | Hitting_SO | 0.562 | 0.000 | 0.438 | 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: 3.2780 -> 5.0000 (boost 1.7220, better) |
| Biggest Deboost | predicted_SLG: 0.3590 -> 0.2313 (deboost -0.1277, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3100 -> 0.4870 (boost 0.1770, 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.3584 -> 0.2313 (deboost -0.1271, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.8437 -> 1.0000 (boost 0.1563, worse) | predicted_H: 0.4938 -> 0.0000 (deboost -0.4938, worse) | AB rounded to 3 (raw=3.30), rates preserved: AVG=0.149 HR/AB=0.021 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3674 -> 0.0000 (deboost -0.3674, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2380 -> 0.2313 (deboost -0.0067, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669720",
"player_name": "Austin Hays",
"position": "LF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.056,
"predicted_3B": 0.0,
"predicted_AB": 3.278,
"predicted_AVG": 0.229,
"predicted_BB": 0.056,
"predicted_H": 0.31,
"predicted_HR": 0.05,
"predicted_OBP": 0.249,
"predicted_R": 0.333,
"predicted_RBI": 0.29,
"predicted_SLG": 0.359,
"predicted_SO": 0.889
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0627,
"predicted_3B": 0.0014,
"predicted_AB": 3.3041,
"predicted_AVG": 0.2337,
"predicted_BB": 0.0719,
"predicted_H": 0.487,
"predicted_HBP": 0.009,
"predicted_HR": 0.0676,
"predicted_OBP": 0.2552,
"predicted_R": 0.3587,
"predicted_RBI": 0.3506,
"predicted_SLG": 0.3584,
"predicted_SO": 0.8456
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.056,
"after": 0.0627,
"delta": 0.0067,
"percent_delta": 0.1196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.278,
"after": 3.3041,
"delta": 0.0261,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2337,
"delta": 0.0047,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.056,
"after": 0.0719,
"delta": 0.0159,
"percent_delta": 0.2839,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.487,
"delta": 0.177,
"percent_delta": 0.571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0676,
"delta": 0.0176,
"percent_delta": 0.352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.249,
"after": 0.2552,
"delta": 0.0062,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3587,
"delta": 0.0257,
"percent_delta": 0.0772,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.3506,
"delta": 0.0606,
"percent_delta": 0.209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.3584,
"delta": -0.0006,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 0.8456,
"delta": -0.0434,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_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.31,
"after": 0.487,
"delta": 0.177,
"percent_delta": 0.571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 18
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0627,
"predicted_3B": 0.0014,
"predicted_AB": 3.3041,
"predicted_AVG": 0.1494,
"predicted_BB": 0.0721,
"predicted_H": 0.4938,
"predicted_HBP": 0.009,
"predicted_HR": 0.0683,
"predicted_OBP": 0.1676,
"predicted_R": 0.3674,
"predicted_RBI": 0.3591,
"predicted_SLG": 0.2313,
"predicted_SO": 0.8437
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0627,
"after": 0.0627,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3041,
"after": 3.3041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2337,
"after": 0.1494,
"delta": -0.0843,
"percent_delta": -0.3607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0719,
"after": 0.0721,
"delta": 0.0002,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.487,
"after": 0.4938,
"delta": 0.0068,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0676,
"after": 0.0683,
"delta": 0.0007,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2552,
"after": 0.1676,
"delta": -0.0876,
"percent_delta": -0.3433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3587,
"after": 0.3674,
"delta": 0.0087,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3506,
"after": 0.3591,
"delta": 0.0085,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3584,
"after": 0.2313,
"delta": -0.1271,
"percent_delta": -0.3546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8456,
"after": 0.8437,
"delta": -0.0019,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3584,
"after": 0.2313,
"delta": -0.1271,
"percent_delta": -0.3546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.30), rates preserved: AVG=0.149 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0627,
"after": 0.0,
"delta": -0.0627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3041,
"after": 3.0,
"delta": -0.3041,
"percent_delta": -0.092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0721,
"after": 0.0,
"delta": -0.0721,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4938,
"after": 0.0,
"delta": -0.4938,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0683,
"after": 0.0,
"delta": -0.0683,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3591,
"after": 0.0,
"delta": -0.3591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8437,
"after": 1.0,
"delta": 0.1563,
"percent_delta": 0.1853,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8437,
"after": 1.0,
"delta": 0.1563,
"percent_delta": 0.1853,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4938,
"after": 0.0,
"delta": -0.4938,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3674,
"after": 0.0,
"delta": -0.3674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.3674,
"after": 0.0,
"delta": -0.3674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 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.149,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.174,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.238,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1494,
"after": 0.149,
"delta": -0.0004,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1676,
"after": 0.174,
"delta": 0.0064,
"percent_delta": 0.0382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2313,
"after": 0.238,
"delta": 0.0067,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.1494,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.1676,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2313,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.149,
"after": 0.1494,
"delta": 0.0004,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.174,
"after": 0.1676,
"delta": -0.0064,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.238,
"after": 0.2313,
"delta": -0.0067,
"percent_delta": -0.0283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.238,
"after": 0.2313,
"delta": -0.0067,
"percent_delta": -0.0283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.278,
"after": 5.0,
"delta": 1.722,
"percent_delta": 0.5253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.1494,
"delta": -0.0796,
"percent_delta": -0.3476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 2.0,
"delta": 1.69,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 1.0,
"delta": 0.95,
"percent_delta": 19.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.249,
"after": 0.1676,
"delta": -0.0814,
"percent_delta": -0.3269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 2.0,
"delta": 1.71,
"percent_delta": 5.8966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.2313,
"delta": -0.1277,
"percent_delta": -0.3557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 1.0,
"delta": 0.111,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.278,
"after": 5.0,
"delta": 1.722,
"percent_delta": 0.5253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.2313,
"delta": -0.1277,
"percent_delta": -0.3557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.056 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.278 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.056 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.249 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.359 | - |
| predicted_SO | 0.889 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.063 | 0.007 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.304 | 0.026 |
| predicted_AVG | 0.234 | 0.005 |
| predicted_BB | 0.072 | 0.016 |
| predicted_H | 0.487 | 0.177 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.068 | 0.018 |
| predicted_OBP | 0.255 | 0.006 |
| predicted_R | 0.359 | 0.026 |
| predicted_RBI | 0.351 | 0.061 |
| predicted_SLG | 0.358 | -0.001 |
| predicted_SO | 0.846 | -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.063 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.304 | 0.000 |
| predicted_AVG | 0.149 | -0.084 |
| predicted_BB | 0.072 | 0.000 |
| predicted_H | 0.494 | 0.007 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.068 | 0.001 |
| predicted_OBP | 0.168 | -0.088 |
| predicted_R | 0.367 | 0.009 |
| predicted_RBI | 0.359 | 0.008 |
| predicted_SLG | 0.231 | -0.127 |
| predicted_SO | 0.844 | -0.002 |
AB rounded to 3 (raw=3.30), rates preserved: AVG=0.149 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.063 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.304 |
| predicted_AVG | 0.149 | -0.000 |
| predicted_BB | 0.000 | -0.072 |
| predicted_H | 1.000 | 0.506 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.174 | 0.006 |
| predicted_R | 0.000 | -0.367 |
| predicted_RBI | 0.000 | -0.359 |
| predicted_SLG | 0.238 | 0.007 |
| predicted_SO | 1.000 | 0.156 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 3.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.0667 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 28.000 | 8.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 0.000 | 4.000 | 0.2857 | 0.2857 | 0.3929 | 0.2857 | 0.0357 | 0.1429 | 0.0000 | 0.1429 |
| season | 0.60 | 18 | - | 59.000 | 14.000 | 1.000 | 0.000 | 2.000 | 10.000 | 6.000 | 1.000 | 16.000 | 0.2373 | 0.2500 | 0.3559 | 0.2373 | 0.0339 | 0.1695 | 0.0169 | 0.2712 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0750 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.3520 |
| predicted_AVG | 0.2423 |
| predicted_BB | 0.1010 |
| predicted_H | 0.8120 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.2665 |
| predicted_R | 0.4060 |
| predicted_RBI | 0.4620 |
| predicted_SLG | 0.3574 |
| predicted_SO | 0.7660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0560 | 0.0750 | 0.0627 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 3.2780 | 3.3520 | 3.3041 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2423 | 0.2337 | model_form_blend |
| predicted_BB | 0.0560 | 0.1010 | 0.0719 | model_form_blend |
| predicted_H | 0.3100 | 0.8120 | 0.4870 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0500 | 0.1000 | 0.0676 | model_form_blend |
| predicted_OBP | 0.2490 | 0.2665 | 0.2552 | model_form_blend |
| predicted_R | 0.3330 | 0.4060 | 0.3587 | model_form_blend |
| predicted_RBI | 0.2900 | 0.4620 | 0.3506 | model_form_blend |
| predicted_SLG | 0.3590 | 0.3574 | 0.3584 | model_form_blend |
| predicted_SO | 0.8890 | 0.7660 | 0.8456 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 18 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260819_SD@NYM |
| game_type | ph |
| mlbID | 669720 |
| note | Grounded into a double play for Song in the 9th. |
| playerID | 669720 |
| playerName | Austin Hays |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 1.7 |
| sl_woba | 0.257 |
| sl_xwoba | 0.285 |
| sl_xba | 0.281 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 41.9 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 0.0 |
| sl_whiff_percent | 34.7 |
| sl_swing_percent | 54.0 |
| at_bat_number | 69.0 |
| ab_pitcher | 673540.0 |
| ab_pitcher_name | Senga, Kodai |
| ab_home_team | NYM |
| ab_away_team | SD |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 657757.0 |
| ab_on_3b_start | 669134.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 4.0 |
| ab_event | grounded_into_double_play |
| ab_event_description | Austin Hays grounds into a double play, second baseman Marcus Semien to first baseman Jared Young. Gavin Sheets out at 2nd. Austin Hays out at 1st. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 75.9 |
| ab_launch_angle_last | -2.0 |
| ab_hit_distance_last | 31.0 |
| ab_estimated_ba_last | 0.085 |
| ab_estimated_woba_last | 0.077 |
| ab_estimated_slg_last | 0.086 |
| 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 | 4.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 93.86666666666667 |
| ab_release_spin_rate_avg | 2400.6666666666665 |
| ab_effective_speed_avg | 94.3 |
| ab_launch_speed_avg | 75.9 |
| ab_launch_angle_avg | -2.0 |
| ab_delta_run_exp_avg | -0.1013333333333333 |
| ab_delta_home_win_exp_avg | 0.061 |
| ab_delta_pitcher_run_exp_avg | 0.1013333333333333 |
| ab_bat_speed_avg | 72.75 |
| ab_swing_length_avg | 7.3 |
| ab_launch_speed_max | 75.9 |
| ab_hit_distance_sc_max | 31.0 |
| ab_release_speed_max | 95.6 |
| ab_release_spin_rate_max | 2425.0 |
| ab_release_speed_min | 91.1 |
| ab_release_spin_rate_min | 2353.0 |
| ab_delta_run_exp_sum | -0.304 |
| ab_delta_home_win_exp_sum | 0.183 |
| ab_delta_pitcher_run_exp_sum | 0.304 |
| 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.099 | 1.000 | 0.000 | Hitting_2B | 0.100 | 1.000 | 0.900 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.413 | 3.000 | 3.000 | Hitting_AB | 3.489 | 2.000 | -0.489 | 1.000 |
| predicted_AVG | 0.229 | 0.667 | 0.333 | Hitting_AVG | 0.226 | 0.500 | 0.440 | 0.167 |
| predicted_BB | 0.488 | 2.000 | 1.000 | Hitting_BB | 0.505 | 0.000 | 1.495 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.700 | 2.000 | 1.000 | Hitting_H | 0.789 | 1.000 | 1.211 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_OBP | 0.313 | 0.800 | 0.500 | Hitting_OBP | 0.325 | 0.667 | 0.475 | 0.133 |
| predicted_R | 0.405 | 1.000 | 0.000 | Hitting_R | 0.426 | 1.000 | 0.574 | 0.000 |
| predicted_RBI | 0.320 | 2.000 | 0.000 | Hitting_RBI | 0.413 | 0.000 | 1.587 | 2.000 |
| predicted_SLG | 0.403 | 1.000 | 0.333 | Hitting_SLG | 0.338 | 1.000 | 0.662 | 0.000 |
| predicted_SO | 0.702 | 0.000 | 1.000 | Hitting_SO | 0.704 | 1.000 | -0.704 | -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.3200 -> 2.0000 (boost 1.6800, better) |
| Biggest Deboost | predicted_SO: 0.7020 -> 0.0000 (deboost -0.7020, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 3.4130 -> 3.3394 (deboost -0.0736, worse) | Final model input calibrated with local form: 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.3695 -> 0.3169 (deboost -0.0526, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.6598 -> 1.0000 (boost 0.3402, worse) | predicted_BB: 0.5064 -> 0.0000 (deboost -0.5064, worse) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.200 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3891 -> 0.0000 (deboost -0.3891, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 5 | 1 | 6 | 0 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"position": "SS",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.099,
"predicted_3B": 0.0,
"predicted_AB": 3.413,
"predicted_AVG": 0.229,
"predicted_BB": 0.488,
"predicted_H": 0.7,
"predicted_HR": 0.08,
"predicted_OBP": 0.313,
"predicted_R": 0.405,
"predicted_RBI": 0.32,
"predicted_SLG": 0.403,
"predicted_SO": 0.702
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1107,
"predicted_3B": 0.0004,
"predicted_AB": 3.3394,
"predicted_AVG": 0.2153,
"predicted_BB": 0.5053,
"predicted_H": 0.674,
"predicted_HBP": 0.083,
"predicted_HR": 0.0869,
"predicted_OBP": 0.3165,
"predicted_R": 0.3799,
"predicted_RBI": 0.3429,
"predicted_SLG": 0.3695,
"predicted_SO": 0.6613
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.1107,
"delta": 0.0117,
"percent_delta": 0.1182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.413,
"after": 3.3394,
"delta": -0.0736,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2153,
"delta": -0.0137,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.488,
"after": 0.5053,
"delta": 0.0173,
"percent_delta": 0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.674,
"delta": -0.026,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0869,
"delta": 0.0069,
"percent_delta": 0.0863,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3165,
"delta": 0.0035,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.3799,
"delta": -0.0251,
"percent_delta": -0.062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3429,
"delta": 0.0229,
"percent_delta": 0.0716,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3695,
"delta": -0.0335,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.702,
"after": 0.6613,
"delta": -0.0407,
"percent_delta": -0.058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.413,
"after": 3.3394,
"delta": -0.0736,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1107,
"predicted_3B": 0.0004,
"predicted_AB": 3.3394,
"predicted_AVG": 0.2046,
"predicted_BB": 0.5064,
"predicted_H": 0.6834,
"predicted_HBP": 0.083,
"predicted_HR": 0.0878,
"predicted_OBP": 0.3094,
"predicted_R": 0.3891,
"predicted_RBI": 0.3512,
"predicted_SLG": 0.3169,
"predicted_SO": 0.6598
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1107,
"after": 0.1107,
"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.3394,
"after": 3.3394,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2153,
"after": 0.2046,
"delta": -0.0107,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5053,
"after": 0.5064,
"delta": 0.0011,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.674,
"after": 0.6834,
"delta": 0.0094,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.083,
"after": 0.083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0869,
"after": 0.0878,
"delta": 0.0009,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3165,
"after": 0.3094,
"delta": -0.0071,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3799,
"after": 0.3891,
"delta": 0.0092,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3429,
"after": 0.3512,
"delta": 0.0083,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3695,
"after": 0.3169,
"delta": -0.0526,
"percent_delta": -0.1424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6613,
"after": 0.6598,
"delta": -0.0015,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3695,
"after": 0.3169,
"delta": -0.0526,
"percent_delta": -0.1424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.41), rates preserved: AVG=0.200 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1107,
"after": 0.0,
"delta": -0.1107,
"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.3394,
"after": 3.0,
"delta": -0.3394,
"percent_delta": -0.1016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5064,
"after": 0.0,
"delta": -0.5064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6834,
"after": 1.0,
"delta": 0.3166,
"percent_delta": 0.4633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0878,
"after": 0.0,
"delta": -0.0878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6598,
"after": 1.0,
"delta": 0.3402,
"percent_delta": 0.5156,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6598,
"after": 1.0,
"delta": 0.3402,
"percent_delta": 0.5156,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5064,
"after": 0.0,
"delta": -0.5064,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3891,
"after": 0.0,
"delta": -0.3891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3891,
"after": 0.0,
"delta": -0.3891,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"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.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.309,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.318,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2046,
"after": 0.2,
"delta": -0.0046,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3094,
"after": 0.309,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3169,
"after": 0.318,
"delta": 0.0011,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2046,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3094,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3169,
"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.2,
"after": 0.2046,
"delta": 0.0046,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.309,
"after": 0.3094,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.318,
"after": 0.3169,
"delta": -0.0011,
"percent_delta": -0.0035,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 1.0,
"delta": 0.901,
"percent_delta": 9.101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.413,
"after": 3.0,
"delta": -0.413,
"percent_delta": -0.121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2046,
"delta": -0.0244,
"percent_delta": -0.1066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.488,
"after": 2.0,
"delta": 1.512,
"percent_delta": 3.0984,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 2.0,
"delta": 1.3,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3094,
"delta": -0.0036,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 2.0,
"delta": 1.68,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3169,
"delta": -0.0861,
"percent_delta": -0.2136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.702,
"after": 0.0,
"delta": -0.702,
"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.32,
"after": 2.0,
"delta": 1.68,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.702,
"after": 0.0,
"delta": -0.702,
"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.099 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.413 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.488 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 0.702 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | 0.012 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.339 | -0.074 |
| predicted_AVG | 0.215 | -0.014 |
| predicted_BB | 0.505 | 0.017 |
| predicted_H | 0.674 | -0.026 |
| predicted_HBP | 0.083 | - |
| predicted_HR | 0.087 | 0.007 |
| predicted_OBP | 0.317 | 0.004 |
| predicted_R | 0.380 | -0.025 |
| predicted_RBI | 0.343 | 0.023 |
| predicted_SLG | 0.369 | -0.034 |
| predicted_SO | 0.661 | -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.111 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.339 | 0.000 |
| predicted_AVG | 0.205 | -0.011 |
| predicted_BB | 0.506 | 0.001 |
| predicted_H | 0.683 | 0.009 |
| predicted_HBP | 0.083 | 0.000 |
| predicted_HR | 0.088 | 0.001 |
| predicted_OBP | 0.309 | -0.007 |
| predicted_R | 0.389 | 0.009 |
| predicted_RBI | 0.351 | 0.008 |
| predicted_SLG | 0.317 | -0.053 |
| predicted_SO | 0.660 | -0.001 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.200 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.111 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.339 |
| predicted_AVG | 0.200 | -0.005 |
| predicted_BB | 0.000 | -0.506 |
| predicted_H | 1.000 | 0.317 |
| predicted_HR | 0.000 | -0.088 |
| predicted_OBP | 0.309 | -0.000 |
| predicted_R | 0.000 | -0.389 |
| predicted_RBI | 0.000 | -0.351 |
| predicted_SLG | 0.318 | 0.001 |
| predicted_SO | 1.000 | 0.340 |
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 | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 0.1429 | 0.3333 | 0.2143 | 0.1429 | 0.0000 | 0.0714 | 0.2143 | 0.1429 |
| last_10 | 0.20 | 10 | - | 30.000 | 5.000 | 1.000 | 0.000 | 2.000 | 5.000 | 3.000 | 6.000 | 5.000 | 0.1667 | 0.3158 | 0.4000 | 0.1667 | 0.0667 | 0.1667 | 0.2000 | 0.1667 |
| season | 0.60 | 121 | - | 413.000 | 91.000 | 12.000 | 0.000 | 11.000 | 46.000 | 49.000 | 59.000 | 85.000 | 0.2203 | 0.3202 | 0.3293 | 0.2203 | 0.0266 | 0.1114 | 0.1429 | 0.2058 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2430 |
| predicted_AVG | 0.1973 |
| predicted_BB | 0.5280 |
| predicted_H | 0.6400 |
| predicted_HBP | 0.0830 |
| predicted_HR | 0.0960 |
| predicted_OBP | 0.3210 |
| predicted_R | 0.3470 |
| predicted_RBI | 0.3730 |
| predicted_SLG | 0.3256 |
| predicted_SO | 0.6080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0990 | 0.1260 | 0.1107 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4130 | 3.2430 | 3.3394 | model_form_blend |
| predicted_AVG | 0.2290 | 0.1973 | 0.2153 | model_form_blend |
| predicted_BB | 0.4880 | 0.5280 | 0.5053 | model_form_blend |
| predicted_H | 0.7000 | 0.6400 | 0.6740 | model_form_blend |
| predicted_HBP | - | 0.0830 | 0.0830 | form_only |
| predicted_HR | 0.0800 | 0.0960 | 0.0869 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3210 | 0.3165 | model_form_blend |
| predicted_R | 0.4050 | 0.3470 | 0.3799 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3730 | 0.3429 | model_form_blend |
| predicted_SLG | 0.4030 | 0.3256 | 0.3695 | model_form_blend |
| predicted_SO | 0.7020 | 0.6080 | 0.6613 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 479 |
| Season rows before report date | 479 |
| 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 | 5 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260819_SD@NYM |
| game_type | full |
| mlbID | 593428 |
| playerID | 593428 |
| playerName | Xander Bogaerts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.295 |
| sl_xwoba | 0.324 |
| sl_xba | 0.247 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 28.5 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 40.8 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 6.3 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 41.4 |
| at_bat_number | 47.0 |
| ab_pitcher | 681810.0 |
| ab_pitcher_name | Warren, Austin |
| ab_home_team | NYM |
| ab_away_team | SD |
| ab_game_type | R |
| ab_stand | R |
| 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 | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Xander Bogaerts strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 4.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 | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 89.88333333333333 |
| ab_release_spin_rate_avg | 2566.5 |
| ab_effective_speed_avg | 90.0 |
| ab_delta_run_exp_avg | -0.0433333333333333 |
| ab_delta_home_win_exp_avg | 0.0073333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0433333333333333 |
| ab_bat_speed_avg | 75.6 |
| ab_swing_length_avg | 7.95 |
| ab_release_speed_max | 94.5 |
| ab_release_spin_rate_max | 2803.0 |
| ab_release_speed_min | 84.8 |
| ab_release_spin_rate_min | 2281.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | 0.044 |
| 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.159 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.032 | 4.000 | 3.000 | Hitting_AB | 3.022 | 4.000 | 0.978 | 0.000 |
| predicted_AVG | 0.225 | 0.000 | 0.333 | Hitting_AVG | 0.198 | 0.250 | -0.198 | -0.250 |
| predicted_BB | 0.254 | 0.000 | 0.000 | Hitting_BB | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.600 | 0.000 | 1.000 | Hitting_H | 0.598 | 1.000 | -0.598 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_OBP | 0.256 | 0.000 | 0.333 | Hitting_OBP | 0.269 | 0.250 | -0.269 | -0.250 |
| predicted_R | 0.286 | 0.000 | 0.000 | Hitting_R | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_RBI | 0.230 | 0.000 | 0.000 | Hitting_RBI | 0.275 | 0.000 | -0.275 | 0.000 |
| predicted_SLG | 0.326 | 0.000 | 0.333 | Hitting_SLG | 0.316 | 0.250 | -0.316 | -0.250 |
| predicted_SO | 0.698 | 0.000 | 1.000 | Hitting_SO | 0.659 | 0.000 | -0.659 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.0320 -> 4.0000 (boost 0.9680, better) |
| Biggest Deboost | predicted_SO: 0.6980 -> 0.0000 (deboost -0.6980, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 1 | 1 | predicted_AB: 3.0320 -> 3.1247 (boost 0.0927, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2225 -> 0.2099 (deboost -0.0126, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.6558 -> 1.0000 (boost 0.3442, better) | predicted_RBI: 0.2542 -> 0.0000 (deboost -0.2542, worse) | AB rounded to 3 (raw=3.12), rates preserved: AVG=0.210 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2760 -> 0.0000 (deboost -0.2760, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3184 -> 0.3260 (boost 0.0076, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3260 -> 0.3184 (deboost -0.0076, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666023",
"player_name": "Freddy Fermin",
"position": "C",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.159,
"predicted_3B": 0.0,
"predicted_AB": 3.032,
"predicted_AVG": 0.225,
"predicted_BB": 0.254,
"predicted_H": 0.6,
"predicted_HR": 0.05,
"predicted_OBP": 0.256,
"predicted_R": 0.286,
"predicted_RBI": 0.23,
"predicted_SLG": 0.326,
"predicted_SO": 0.698
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.166,
"predicted_3B": 0.0008,
"predicted_AB": 3.1247,
"predicted_AVG": 0.2225,
"predicted_BB": 0.2201,
"predicted_H": 0.6468,
"predicted_HBP": 0.03,
"predicted_HR": 0.0566,
"predicted_OBP": 0.2589,
"predicted_R": 0.2695,
"predicted_RBI": 0.2482,
"predicted_SLG": 0.3296,
"predicted_SO": 0.7572
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.166,
"delta": 0.007,
"percent_delta": 0.044,
"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.032,
"after": 3.1247,
"delta": 0.0927,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2225,
"delta": -0.0025,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.254,
"after": 0.2201,
"delta": -0.0339,
"percent_delta": -0.1335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.6468,
"delta": 0.0468,
"percent_delta": 0.078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0566,
"delta": 0.0066,
"percent_delta": 0.132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2589,
"delta": 0.0029,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.2695,
"delta": -0.0165,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.2482,
"delta": 0.0182,
"percent_delta": 0.0791,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3296,
"delta": 0.0036,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.698,
"after": 0.7572,
"delta": 0.0592,
"percent_delta": 0.0848,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.032,
"after": 3.1247,
"delta": 0.0927,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.166,
"predicted_3B": 0.0008,
"predicted_AB": 3.1247,
"predicted_AVG": 0.2099,
"predicted_BB": 0.2206,
"predicted_H": 0.6558,
"predicted_HBP": 0.03,
"predicted_HR": 0.0572,
"predicted_OBP": 0.262,
"predicted_R": 0.276,
"predicted_RBI": 0.2542,
"predicted_SLG": 0.3184,
"predicted_SO": 0.7555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.166,
"after": 0.166,
"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.1247,
"after": 3.1247,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2225,
"after": 0.2099,
"delta": -0.0126,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2201,
"after": 0.2206,
"delta": 0.0005,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6468,
"after": 0.6558,
"delta": 0.009,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.03,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0566,
"after": 0.0572,
"delta": 0.0006,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2589,
"after": 0.262,
"delta": 0.0031,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2695,
"after": 0.276,
"delta": 0.0065,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2482,
"after": 0.2542,
"delta": 0.006,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3296,
"after": 0.3184,
"delta": -0.0112,
"percent_delta": -0.034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7572,
"after": 0.7555,
"delta": -0.0017,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2225,
"after": 0.2099,
"delta": -0.0126,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.12), rates preserved: AVG=0.210 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.166,
"after": 0.0,
"delta": -0.166,
"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.1247,
"after": 3.0,
"delta": -0.1247,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2206,
"after": 0.0,
"delta": -0.2206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6558,
"after": 1.0,
"delta": 0.3442,
"percent_delta": 0.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0572,
"after": 0.0,
"delta": -0.0572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2542,
"after": 0.0,
"delta": -0.2542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7555,
"after": 1.0,
"delta": 0.2445,
"percent_delta": 0.3236,
"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.6558,
"after": 1.0,
"delta": 0.3442,
"percent_delta": 0.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2542,
"after": 0.0,
"delta": -0.2542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.21,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.268,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.326,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2099,
"after": 0.21,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.262,
"after": 0.268,
"delta": 0.006,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3184,
"after": 0.326,
"delta": 0.0076,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.3184,
"after": 0.326,
"delta": 0.0076,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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.2099,
"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.262,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3184,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.2099,
"delta": -0.0001,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.262,
"delta": -0.006,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3184,
"delta": -0.0076,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3184,
"delta": -0.0076,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.032,
"after": 4.0,
"delta": 0.968,
"percent_delta": 0.3193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2099,
"delta": -0.0151,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.256,
"after": 0.262,
"delta": 0.006,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3184,
"delta": -0.0076,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.698,
"after": 0.0,
"delta": -0.698,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.032,
"after": 4.0,
"delta": 0.968,
"percent_delta": 0.3193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.698,
"after": 0.0,
"delta": -0.698,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.032 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.254 | - |
| predicted_H | 0.600 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.256 | - |
| predicted_R | 0.286 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.326 | - |
| predicted_SO | 0.698 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.007 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.125 | 0.093 |
| predicted_AVG | 0.223 | -0.003 |
| predicted_BB | 0.220 | -0.034 |
| predicted_H | 0.647 | 0.047 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.057 | 0.007 |
| predicted_OBP | 0.259 | 0.003 |
| predicted_R | 0.270 | -0.016 |
| predicted_RBI | 0.248 | 0.018 |
| predicted_SLG | 0.330 | 0.004 |
| predicted_SO | 0.757 | 0.059 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.125 | 0.000 |
| predicted_AVG | 0.210 | -0.013 |
| predicted_BB | 0.221 | 0.001 |
| predicted_H | 0.656 | 0.009 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.057 | 0.001 |
| predicted_OBP | 0.262 | 0.003 |
| predicted_R | 0.276 | 0.007 |
| predicted_RBI | 0.254 | 0.006 |
| predicted_SLG | 0.318 | -0.011 |
| predicted_SO | 0.755 | -0.002 |
AB rounded to 3 (raw=3.12), rates preserved: AVG=0.210 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.166 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.125 |
| predicted_AVG | 0.210 | 0.000 |
| predicted_BB | 0.000 | -0.221 |
| predicted_H | 1.000 | 0.344 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.268 | 0.006 |
| predicted_R | 0.000 | -0.276 |
| predicted_RBI | 0.000 | -0.254 |
| predicted_SLG | 0.326 | 0.008 |
| predicted_SO | 1.000 | 0.245 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.1875 | 0.1875 | 0.2500 | 0.1875 | 0.0000 | 0.0000 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 2.000 | 0.000 | 1.000 | 5.000 | 2.000 | 0.000 | 9.000 | 0.3056 | 0.3056 | 0.4444 | 0.3056 | 0.0278 | 0.1389 | 0.0000 | 0.2500 |
| season | 0.60 | 63 | - | 191.000 | 37.000 | 10.000 | 0.000 | 4.000 | 16.000 | 18.000 | 16.000 | 44.000 | 0.1937 | 0.2642 | 0.3089 | 0.1937 | 0.0209 | 0.0838 | 0.0838 | 0.2304 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2560 |
| predicted_AVG | 0.2189 |
| predicted_BB | 0.1720 |
| predicted_H | 0.7130 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.2631 |
| predicted_R | 0.2460 |
| predicted_RBI | 0.2740 |
| predicted_SLG | 0.3346 |
| predicted_SO | 0.8410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.1760 | 0.1660 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0320 | 3.2560 | 3.1247 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2189 | 0.2225 | model_form_blend |
| predicted_BB | 0.2540 | 0.1720 | 0.2201 | model_form_blend |
| predicted_H | 0.6000 | 0.7130 | 0.6468 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.0500 | 0.0660 | 0.0566 | model_form_blend |
| predicted_OBP | 0.2560 | 0.2631 | 0.2589 | model_form_blend |
| predicted_R | 0.2860 | 0.2460 | 0.2695 | model_form_blend |
| predicted_RBI | 0.2300 | 0.2740 | 0.2482 | model_form_blend |
| predicted_SLG | 0.3260 | 0.3346 | 0.3296 | model_form_blend |
| predicted_SO | 0.6980 | 0.8410 | 0.7572 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 229 |
| Season rows before report date | 229 |
| Report year | 2026 |
| Profile rows used | 63 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260818_SD@NYM |
| game_type | full |
| mlbID | 666023 |
| playerID | 666023 |
| playerName | Freddy Fermin |
| pos | C |
| started | True |
| startingPosition | C |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-18 |
| game_pk | 823586.0 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.26 |
| sl_xwoba | 0.268 |
| sl_xba | 0.208 |
| sl_xslg | 0.31 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 27.5 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 52.0 |
| at_bat_number | 64.0 |
| ab_pitcher | 673380.0 |
| ab_pitcher_name | Núñez, Dedniel |
| ab_home_team | NYM |
| ab_away_team | SD |
| ab_game_type | R |
| ab_stand | R |
| 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 | 1.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Freddy Fermin pops out to second baseman Marcus Semien. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 88.6 |
| ab_launch_angle_last | 62.0 |
| ab_hit_distance_last | 162.0 |
| ab_estimated_ba_last | 0.014 |
| ab_estimated_woba_last | 0.014 |
| ab_estimated_slg_last | 0.017 |
| 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 | 1.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.7 |
| ab_release_spin_rate_avg | 2364.4 |
| ab_effective_speed_avg | 92.66 |
| ab_launch_speed_avg | 88.6 |
| ab_launch_angle_avg | 62.0 |
| ab_delta_run_exp_avg | -0.0524 |
| ab_delta_home_win_exp_avg | 0.0012 |
| ab_delta_pitcher_run_exp_avg | 0.0524 |
| ab_bat_speed_avg | 68.4 |
| ab_swing_length_avg | 8.25 |
| ab_launch_speed_max | 88.6 |
| ab_hit_distance_sc_max | 162.0 |
| ab_release_speed_max | 98.4 |
| ab_release_spin_rate_max | 2468.0 |
| ab_release_speed_min | 89.2 |
| ab_release_spin_rate_min | 2148.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | 0.006 |
| 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.093 | 0.000 | 0.000 | Hitting_2B | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.540 | 4.000 | 4.000 | Hitting_AB | 3.601 | 3.000 | 0.399 | 1.000 |
| predicted_AVG | 0.224 | 0.000 | 0.250 | Hitting_AVG | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_BB | 0.360 | 0.000 | 0.000 | Hitting_BB | 0.395 | 1.000 | -0.395 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 0.855 | 0.000 | -0.855 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_OBP | 0.298 | 0.000 | 0.250 | Hitting_OBP | 0.324 | 0.250 | -0.324 | -0.250 |
| predicted_R | 0.427 | 0.000 | 1.000 | Hitting_R | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_SLG | 0.321 | 0.000 | 0.250 | Hitting_SLG | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_SO | 0.853 | 2.000 | 1.000 | Hitting_SO | 0.865 | 2.000 | 1.135 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.8530 -> 2.0000 (boost 1.1470, worse) |
| Biggest Deboost | predicted_H: 0.7900 -> 0.0000 (deboost -0.7900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3210 -> 0.3292 (boost 0.0082, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.5827 -> 4.0000 (boost 0.4173, better) | predicted_BB: 0.3566 -> 0.0000 (deboost -0.3566, worse) | AB rounded to 4 (raw=3.58), rates preserved: AVG=0.233 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4438 -> 0.0000 (deboost -0.4438, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3309 -> 0.3390 (boost 0.0081, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3390 -> 0.3309 (deboost -0.0081, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "630105",
"player_name": "Jake Cronenworth",
"position": "2B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.093,
"predicted_3B": 0.0,
"predicted_AB": 3.54,
"predicted_AVG": 0.224,
"predicted_BB": 0.36,
"predicted_H": 0.79,
"predicted_HR": 0.08,
"predicted_OBP": 0.298,
"predicted_R": 0.427,
"predicted_RBI": 0.26,
"predicted_SLG": 0.321,
"predicted_SO": 0.853
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.09,
"predicted_3B": 0.0004,
"predicted_AB": 3.5827,
"predicted_AVG": 0.2301,
"predicted_BB": 0.3558,
"predicted_H": 0.823,
"predicted_HBP": 0.041,
"predicted_HR": 0.0859,
"predicted_OBP": 0.3042,
"predicted_R": 0.4333,
"predicted_RBI": 0.2689,
"predicted_SLG": 0.3292,
"predicted_SO": 0.8893
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.09,
"delta": -0.003,
"percent_delta": -0.0323,
"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.54,
"after": 3.5827,
"delta": 0.0427,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2301,
"delta": 0.0061,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 0.3558,
"delta": -0.0042,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.823,
"delta": 0.033,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0859,
"delta": 0.0059,
"percent_delta": 0.0738,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3042,
"delta": 0.0062,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.4333,
"delta": 0.0063,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2689,
"delta": 0.0089,
"percent_delta": 0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.3292,
"delta": 0.0082,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.853,
"after": 0.8893,
"delta": 0.0363,
"percent_delta": 0.0426,
"direction": "no_change",
"projection_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.321,
"after": 0.3292,
"delta": 0.0082,
"percent_delta": 0.0255,
"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": 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.09,
"predicted_3B": 0.0004,
"predicted_AB": 3.5827,
"predicted_AVG": 0.2329,
"predicted_BB": 0.3566,
"predicted_H": 0.8344,
"predicted_HBP": 0.041,
"predicted_HR": 0.0868,
"predicted_OBP": 0.3023,
"predicted_R": 0.4438,
"predicted_RBI": 0.2754,
"predicted_SLG": 0.3309,
"predicted_SO": 0.8873
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.09,
"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.5827,
"after": 3.5827,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2301,
"after": 0.2329,
"delta": 0.0028,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3558,
"after": 0.3566,
"delta": 0.0008,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.823,
"after": 0.8344,
"delta": 0.0114,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0859,
"after": 0.0868,
"delta": 0.0009,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3042,
"after": 0.3023,
"delta": -0.0019,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4333,
"after": 0.4438,
"delta": 0.0105,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2689,
"after": 0.2754,
"delta": 0.0065,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3292,
"after": 0.3309,
"delta": 0.0017,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8893,
"after": 0.8873,
"delta": -0.002,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.58), rates preserved: AVG=0.233 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"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.5827,
"after": 4.0,
"delta": 0.4173,
"percent_delta": 0.1165,
"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": 0.8344,
"after": 1.0,
"delta": 0.1656,
"percent_delta": 0.1985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0868,
"after": 0.0,
"delta": -0.0868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2754,
"after": 0.0,
"delta": -0.2754,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8873,
"after": 1.0,
"delta": 0.1127,
"percent_delta": 0.127,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5827,
"after": 4.0,
"delta": 0.4173,
"percent_delta": 0.1165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3566,
"after": 0.0,
"delta": -0.3566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.4438,
"after": 0.0,
"delta": -0.4438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4438,
"after": 0.0,
"delta": -0.4438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.233,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.339,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2329,
"after": 0.233,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3023,
"after": 0.308,
"delta": 0.0057,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3309,
"after": 0.339,
"delta": 0.0081,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3309,
"after": 0.339,
"delta": 0.0081,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2329,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3023,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3309,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2329,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3023,
"delta": -0.0057,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3309,
"delta": -0.0081,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3309,
"delta": -0.0081,
"percent_delta": -0.0239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.54,
"after": 4.0,
"delta": 0.46,
"percent_delta": 0.1299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2329,
"delta": 0.0089,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3023,
"delta": 0.0043,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.0,
"delta": -0.427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.321,
"after": 0.3309,
"delta": 0.0099,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.853,
"after": 2.0,
"delta": 1.147,
"percent_delta": 1.3447,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.853,
"after": 2.0,
"delta": 1.147,
"percent_delta": 1.3447,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.540 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.360 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.427 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.321 | - |
| predicted_SO | 0.853 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.090 | -0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.583 | 0.043 |
| predicted_AVG | 0.230 | 0.006 |
| predicted_BB | 0.356 | -0.004 |
| predicted_H | 0.823 | 0.033 |
| predicted_HBP | 0.041 | - |
| predicted_HR | 0.086 | 0.006 |
| predicted_OBP | 0.304 | 0.006 |
| predicted_R | 0.433 | 0.006 |
| predicted_RBI | 0.269 | 0.009 |
| predicted_SLG | 0.329 | 0.008 |
| predicted_SO | 0.889 | 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.090 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.583 | 0.000 |
| predicted_AVG | 0.233 | 0.003 |
| predicted_BB | 0.357 | 0.001 |
| predicted_H | 0.834 | 0.011 |
| predicted_HBP | 0.041 | 0.000 |
| predicted_HR | 0.087 | 0.001 |
| predicted_OBP | 0.302 | -0.002 |
| predicted_R | 0.444 | 0.010 |
| predicted_RBI | 0.275 | 0.007 |
| predicted_SLG | 0.331 | 0.002 |
| predicted_SO | 0.887 | -0.002 |
AB rounded to 4 (raw=3.58), rates preserved: AVG=0.233 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.090 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.417 |
| predicted_AVG | 0.233 | 0.000 |
| predicted_BB | 0.000 | -0.357 |
| predicted_H | 1.000 | 0.166 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.308 | 0.006 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 0.000 | -0.275 |
| predicted_SLG | 0.339 | 0.008 |
| predicted_SO | 1.000 | 0.113 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 1.000 | 2.000 | 2.000 | 5.000 | 0.2632 | 0.3333 | 0.4211 | 0.2632 | 0.0526 | 0.0526 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 1.000 | 0.000 | 1.000 | 3.000 | 5.000 | 3.000 | 12.000 | 0.2500 | 0.3023 | 0.3500 | 0.2500 | 0.0250 | 0.0750 | 0.0750 | 0.3000 |
| season | 0.60 | 75 | - | 258.000 | 58.000 | 7.000 | 0.000 | 4.000 | 20.000 | 32.000 | 27.000 | 64.000 | 0.2248 | 0.3103 | 0.2984 | 0.2248 | 0.0155 | 0.0775 | 0.1047 | 0.2481 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6410 |
| predicted_AVG | 0.2385 |
| predicted_BB | 0.3500 |
| predicted_H | 0.8680 |
| predicted_HBP | 0.0410 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.3126 |
| predicted_R | 0.4420 |
| predicted_RBI | 0.2810 |
| predicted_SLG | 0.3403 |
| predicted_SO | 0.9390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.0860 | 0.0900 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5400 | 3.6410 | 3.5827 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2385 | 0.2301 | model_form_blend |
| predicted_BB | 0.3600 | 0.3500 | 0.3558 | model_form_blend |
| predicted_H | 0.7900 | 0.8680 | 0.8230 | model_form_blend |
| predicted_HBP | - | 0.0410 | 0.0410 | form_only |
| predicted_HR | 0.0800 | 0.0940 | 0.0859 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3126 | 0.3042 | model_form_blend |
| predicted_R | 0.4270 | 0.4420 | 0.4333 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2810 | 0.2689 | model_form_blend |
| predicted_SLG | 0.3210 | 0.3403 | 0.3292 | model_form_blend |
| predicted_SO | 0.8530 | 0.9390 | 0.8893 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 296 |
| Season rows before report date | 296 |
| 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.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260819_SD@NYM |
| game_type | full |
| mlbID | 630105 |
| playerID | 630105 |
| playerName | Jake Cronenworth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.28 |
| sl_xwoba | 0.284 |
| sl_xba | 0.224 |
| sl_xslg | 0.315 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 30.6 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 9.3 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 46.1 |
| at_bat_number | 55.0 |
| ab_pitcher | 650960.0 |
| ab_pitcher_name | Duarte, Daniel |
| ab_home_team | NYM |
| ab_away_team | SD |
| ab_game_type | R |
| ab_stand | L |
| 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 | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Jake Cronenworth strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 97.2 |
| ab_launch_angle_last | 24.0 |
| ab_hit_distance_last | 313.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 | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 91.0 |
| ab_release_spin_rate_avg | 2353.25 |
| ab_effective_speed_avg | 90.75 |
| ab_launch_speed_avg | 97.2 |
| ab_launch_angle_avg | 24.0 |
| ab_delta_run_exp_avg | -0.06525 |
| ab_delta_home_win_exp_avg | 0.0135 |
| ab_delta_pitcher_run_exp_avg | 0.06525 |
| ab_bat_speed_avg | 69.75 |
| ab_swing_length_avg | 6.3 |
| ab_launch_speed_max | 97.2 |
| ab_hit_distance_sc_max | 313.0 |
| ab_release_speed_max | 94.6 |
| ab_release_spin_rate_max | 2634.0 |
| ab_release_speed_min | 89.0 |
| ab_release_spin_rate_min | 1934.0 |
| ab_delta_run_exp_sum | -0.261 |
| ab_delta_home_win_exp_sum | 0.054 |
| ab_delta_pitcher_run_exp_sum | 0.261 |
| 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 | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.333 | 1.000 | 0.667 | 1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.208 | 4.000 | 1.792 | 0.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 5.042 | 7.000 | -1.042 | -3.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.479 | 5.000 | -0.279 | -0.800 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 2.958 | 5.000 | 0.042 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681190",
"player_name": "Randy Vásquez",
"position": "Starter",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 4.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 23.100 | 7.000 | 15.000 | 5.000 | 8.000 | 1.000 | 2.7000 | 0.8571 | 0.3000 | 0.6429 | 0.2143 | 0.3429 | 0.0429 |
| last_10 | 0.35 | 10 | 36.200 | 23.000 | 45.000 | 10.000 | 13.000 | 4.000 | 5.6455 | 1.5000 | 0.6273 | 1.2273 | 0.2727 | 0.3545 | 0.1091 |
| season | 0.20 | 24 | 111.000 | 53.000 | 121.000 | 32.000 | 71.000 | 15.000 | 4.2973 | 1.3784 | 0.4775 | 1.0901 | 0.2883 | 0.6396 | 0.1351 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1800 |
| predicted_ER | 2.0080 |
| predicted_ERA | 4.1297 |
| predicted_H | 4.1270 |
| predicted_HR | 0.4170 |
| predicted_IP | 4.1000 |
| predicted_SO | 2.1900 |
| predicted_WHIP | 1.2126 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.1800 | 1.5267 | model_form_blend |
| predicted_ER | 4.0000 | 2.0080 | 2.8503 | model_form_blend |
| predicted_ERA | - | 4.1297 | 4.1297 | form_only |
| predicted_H | 4.0000 | 4.1270 | 4.0733 | model_form_blend |
| predicted_HR | 1.0000 | 0.4170 | 0.6635 | model_form_blend |
| predicted_IP | 4.2000 | 4.1000 | 4.1000 | model_form_blend |
| predicted_SO | 3.0000 | 2.1900 | 2.5325 | model_form_blend |
| predicted_WHIP | - | 1.2126 | 1.2126 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 4 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 3 |
| HR | 1 |
| BF | 20 |
| Pitches | 79 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.30 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 8 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 90 |
| Pitching_R | 4 |
| Pitching_SO | 5 |
| Pitching_Strikes | 61 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260815_SD@CLE |
| game_type | full |
| mlbID | 681190 |
| playerID | 681190 |
| playerName | Randy Vásquez |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-15 |
| game_pk | 824400.0 |
| sl_k_percent | 15.0 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.342 |
| sl_xwoba | 0.365 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 44.1 |
| sl_whiff_percent | 19.3 |
| sl_swing_percent | 49.9 |
| sv_pitch_count | 90.0 |
| sv_outs_recorded_est | 15.0 |
| sv_release_speed | 93.0311111111111 |
| sv_release_spin_rate | 2542.9444444444443 |
| sv_effective_speed | 92.77111111111113 |
| sv_launch_speed | 82.83939393939393 |
| sv_launch_angle | 21.57575757575757 |
| sv_woba_value | 7.7 |
| sv_woba_denom | 23.0 |
| sv_delta_run_exp | -0.31 |
| sv_delta_home_win_exp | 0.085 |
| sl_avg_best_speed | 82.152645934 |
| sl_avg_hyper_speed | 94.873454258 |
| 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.328 | 1.000 | -0.328 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.362 | 1.000 | -0.362 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.948 | 2.000 | -0.948 | -2.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.028 | 1.200 | 0.172 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.431 | 3.000 | -1.431 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.2000 (deboost -0.1333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.2000 (deboost -0.1333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670970",
"player_name": "Adrian Morejon",
"position": "Setup Man",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.000 | 1.000 | 5.000 | 4.000 | 10.000 | 1.000 | 1.2857 | 1.2857 | 0.1429 | 0.7143 | 0.5714 | 1.4286 | 0.1429 |
| last_10 | 0.35 | 10 | 12.200 | 1.000 | 8.000 | 5.000 | 20.000 | 1.000 | 0.7105 | 1.0263 | 0.0790 | 0.6316 | 0.3947 | 1.5790 | 0.0790 |
| season | 0.20 | 58 | 68.000 | 21.000 | 55.000 | 19.000 | 83.000 | 4.000 | 2.7794 | 1.0882 | 0.3088 | 0.8088 | 0.2794 | 1.2206 | 0.0588 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5710 |
| predicted_ER | 0.3290 |
| predicted_ERA | 2.2225 |
| predicted_H | 1.0350 |
| predicted_HR | 0.1540 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.7450 |
| predicted_WHIP | 1.2046 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5710 | 0.3064 | model_form_blend |
| predicted_ER | 0.0000 | 0.3290 | 0.1765 | model_form_blend |
| predicted_ERA | - | 2.2225 | 2.2225 | form_only |
| predicted_H | 0.0000 | 1.0350 | 0.5554 | model_form_blend |
| predicted_HR | 0.0000 | 0.1540 | 0.0826 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.7450 | 0.9364 | model_form_blend |
| predicted_WHIP | - | 1.2046 | 1.2046 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 58 |
| Season rows before report date | 58 |
| Report year | 2026 |
| Profile rows used | 58 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.78 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 38 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 24 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260818_SD@NYM |
| game_type | full |
| mlbID | 670970 |
| playerID | 670970 |
| playerName | Adrian Morejon |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-18 |
| game_pk | 823586.0 |
| sl_k_percent | 29.7 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.253 |
| sl_xwoba | 0.244 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 32.4 |
| sl_whiff_percent | 34.4 |
| sl_swing_percent | 51.9 |
| sv_pitch_count | 38.0 |
| sv_outs_recorded_est | 5.0 |
| sv_release_speed | 97.09473684210526 |
| sv_release_spin_rate | 2050.4473684210525 |
| sv_effective_speed | 96.85263157894737 |
| sv_launch_speed | 81.02727272727272 |
| sv_launch_angle | 15.454545454545457 |
| sv_woba_value | 3.6 |
| sv_woba_denom | 8.0 |
| sv_delta_run_exp | 0.3770000000000001 |
| sv_delta_home_win_exp | -0.129 |
| sl_avg_best_speed | 75.45441593 |
| sl_avg_hyper_speed | 93.479443895 |
| 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.327 | 0.000 | -0.327 | 0.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.827 | 1.000 | -0.827 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.931 | 0.100 | 0.269 | 1.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.154 | 1.000 | -0.154 | 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": "699134",
"player_name": "Bradgley Rodriguez",
"position": "Middle Reliever (High Leverage)",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.100 | 0.000 | 3.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.5455 | 0.0000 | 0.4091 | 0.1364 | 1.0909 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 3.000 | 8.000 | 2.000 | 15.000 | 1.000 | 2.3143 | 0.8571 | 0.2571 | 0.6857 | 0.1714 | 1.2857 | 0.0857 |
| season | 0.20 | 52 | 56.100 | 13.000 | 43.000 | 17.000 | 60.000 | 3.000 | 2.0769 | 1.0651 | 0.2308 | 0.7633 | 0.3018 | 1.0651 | 0.0532 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2820 |
| predicted_ER | 0.2940 |
| predicted_ERA | 2.2336 |
| predicted_H | 0.8270 |
| predicted_HR | 0.0870 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.2940 |
| predicted_WHIP | 0.9366 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2820 | 0.1467 | model_form_blend |
| predicted_ER | 0.0000 | 0.2940 | 0.1530 | model_form_blend |
| predicted_ERA | - | 2.2336 | 2.2336 | form_only |
| predicted_H | 0.0000 | 0.8270 | 0.4303 | model_form_blend |
| predicted_HR | 0.0000 | 0.0870 | 0.0453 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2940 | 1.1530 | model_form_blend |
| predicted_WHIP | - | 0.9366 | 0.9366 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 52 |
| Season rows before report date | 52 |
| Report year | 2026 |
| Profile rows used | 52 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.08 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260818_SD@NYM |
| game_type | full |
| mlbID | 699134 |
| playerID | 699134 |
| playerName | Bradgley Rodriguez |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-18 |
| game_pk | 823586.0 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.253 |
| sl_xwoba | 0.226 |
| sl_sweet_spot_percent | 24.0 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 28.6 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 50.7 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 95.16428571428573 |
| sv_release_spin_rate | 2196.5714285714284 |
| sv_effective_speed | 94.83571428571427 |
| sv_launch_speed | 83.08 |
| sv_launch_angle | 36.6 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | 0.652 |
| sv_delta_home_win_exp | 0.062 |
| sl_avg_best_speed | 76.956078026 |
| sl_avg_hyper_speed | 92.566588543 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.375 | 1.000 | -0.375 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.594 | 2.000 | -0.594 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.806 | 0.200 | 0.194 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.156 | 0.000 | -1.156 | 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": "669093",
"player_name": "Jeremiah Estrada",
"position": "Middle Reliever (High Leverage)",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 2.000 | 3.000 | 2.000 | 6.000 | 0.000 | 3.8571 | 1.0714 | 0.4286 | 0.6429 | 0.4286 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 4.000 | 6.000 | 5.000 | 11.000 | 0.000 | 4.3200 | 1.3200 | 0.4800 | 0.7200 | 0.6000 | 1.3200 | 0.0000 |
| season | 0.20 | 32 | 30.000 | 12.000 | 19.000 | 16.000 | 37.000 | 2.000 | 3.6000 | 1.1667 | 0.4000 | 0.6333 | 0.5333 | 1.2333 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4160 |
| predicted_ER | 0.4380 |
| predicted_ERA | 4.2142 |
| predicted_H | 0.7550 |
| predicted_HR | 0.0690 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0630 |
| predicted_WHIP | 1.2507 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4160 | 0.1906 | model_form_blend |
| predicted_ER | 0.0000 | 0.4380 | 0.2007 | model_form_blend |
| predicted_ERA | - | 4.2142 | 4.2142 | form_only |
| predicted_H | 0.0000 | 0.7550 | 0.3459 | model_form_blend |
| predicted_HR | 0.0000 | 0.0690 | 0.0316 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0630 | 0.4871 | model_form_blend |
| predicted_WHIP | - | 1.2507 | 1.2507 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.60 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260819_SD@NYM |
| game_type | full |
| mlbID | 669093 |
| playerID | 669093 |
| playerName | Jeremiah Estrada |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-19 |
| game_pk | 823587.0 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.26 |
| sl_xwoba | 0.287 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 31.9 |
| sl_swing_percent | 47.4 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 91.76363636363637 |
| sv_release_spin_rate | 1911.090909090909 |
| sv_effective_speed | 93.01363636363637 |
| sv_launch_speed | 87.0 |
| sv_launch_angle | 28.0 |
| sv_woba_value | 3.4 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 1.696 |
| sv_delta_home_win_exp | 0.0569999999999999 |
| sl_avg_best_speed | 73.222280882 |
| sl_avg_hyper_speed | 92.854900746 |
| 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.380 | 0.000 | 0.620 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_IP | 0.000 | 1.000 | 0.000 | Pitching_InningsPitched | 0.986 | 1.000 | 0.014 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.900 | 2.000 | -0.900 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "695243",
"player_name": "Mason Miller",
"position": "Closer",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 2.000 | 3.000 | 7.000 | 0.000 | 1.8000 | 1.0000 | 0.2000 | 0.4000 | 0.6000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 1.000 | 3.000 | 4.000 | 17.000 | 0.000 | 0.8438 | 0.6562 | 0.0938 | 0.2812 | 0.3750 | 1.5938 | 0.0000 |
| season | 0.20 | 50 | 52.100 | 5.000 | 24.000 | 19.000 | 95.000 | 0.000 | 0.8599 | 0.8217 | 0.0955 | 0.4586 | 0.3631 | 1.8153 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4390 |
| predicted_ER | 0.2580 |
| predicted_ERA | 2.3210 |
| predicted_H | 0.5650 |
| predicted_HR | 0.0470 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3580 |
| predicted_WHIP | 1.0037 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4390 | 0.7119 | model_form_blend |
| predicted_ER | 0.0000 | 0.2580 | 0.1325 | model_form_blend |
| predicted_ERA | - | 2.3210 | 2.3210 | form_only |
| predicted_H | 0.0000 | 0.5650 | 0.2902 | model_form_blend |
| predicted_HR | 0.0000 | 0.0470 | 0.0241 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3580 | 1.1839 | model_form_blend |
| predicted_WHIP | - | 1.0037 | 1.0037 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 50 |
| Season rows before report date | 50 |
| Report year | 2026 |
| Profile rows used | 50 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.86 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260818_SD@NYM |
| game_type | full |
| mlbID | 695243 |
| playerID | 695243 |
| playerName | Mason Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-08-18 |
| game_pk | 823586.0 |
| sl_k_percent | 47.7 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.182 |
| sl_xwoba | 0.188 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 27.7 |
| sl_whiff_percent | 47.0 |
| sl_swing_percent | 46.8 |
| sv_pitch_count | 16.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 96.16875 |
| sv_release_spin_rate | 2427.5625 |
| sv_effective_speed | 96.875 |
| sv_launch_speed | 86.95 |
| sv_launch_angle | 55.5 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.782 |
| sv_delta_home_win_exp | -0.043 |
| sl_avg_best_speed | 73.84463 |
| sl_avg_hyper_speed | 92.368836627 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | PIT 3 - 4 LAD | LAD | 0.560 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | PIT 3 - 4 LAD | LAD | - | organic_simulation_realized_target | 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.5600; empirical=0.5588; weight=0.5000; final=0.5594 |
| P1 | H2H margin as base feature | available | home net=10; abs=10; home delta=0.0682; away delta=-0.0682 |
| 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=1.0623; recent edge=0.3000; 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 | 6.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5598 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_simulation_realized_target |
| 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.524 | 5.174 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 4 | 0.5598 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_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.6273691299703266,
"base_low_score_probability": 0.43224530168150344,
"low_score_signal_threshold": 0.5122453016815034,
"low_score_signal_strength": 0.19512382828882313,
"confidence": 0.8257096000000002,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4514192000000004
},
"prediction": "low_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 6.6,
"low_score_model_expected_total_runs": 6.6,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "monotone_reliability_shrinkage",
"policy": "shrink_toward_even_never_clamp_v2",
"sample_size": 204,
"near_bucket_sample_size": 204,
"medium_bucket_sample_size": 593,
"wide_bucket_sample_size": 606,
"global_sample_size": 606,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5588,
"bayesian_hit_rate": 0.5541,
"prior_strength": 18.0,
"raw_pick_probability": 0.585,
"raw_pick_probability_unclamped": 0.585,
"score_probability_conflict": false,
"margin_implied_home_probability": 0.585,
"margin_implied_pick_probability": 0.585,
"score_blend_weight": 0.45,
"blended_raw_pick_probability": 0.585,
"max_published_pick_probability": 0.9,
"uncapped_home_win_probability": 0.585,
"uncapped_away_win_probability": 0.415,
"calibrated_pick_probability": 0.5805,
"predicted_side": "home",
"reliability": 0.918919,
"shrink_floor": 0.35,
"empirical_penalty": 1.0,
"shrinkage_weight": 0.947297
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.56,
"sample_size": 204,
"empirical_hit_rate": 0.5588,
"empirical_weight": 0.5,
"blended_confidence": 0.5594,
"published_confidence": 0.559794,
"published_after_governors": true,
"governor_mode": "shrinkage_not_clamp"
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 3,
"sample_weight": 0.0409,
"home_net_margin": 10.0,
"absolute_net_margin": 10.0,
"home_average_margin": 3.333,
"home_run_delta": 0.0682,
"away_run_delta": -0.0682,
"evidence": [
{
"game_id": null,
"home_margin": 2.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": 9.0
}
],
"adaptive_parameters": {
"h2h.history_limit": 5,
"h2h.maximum_weight": 0.15,
"h2h.prior_games": 8.0,
"h2h.maximum_total_shift": 0.65
}
}{
"applied": true,
"home": {
"team": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6015625,
"runs_scored": 640,
"runs_allowed": 495,
"run_differential": 145,
"run_differential_per_game": 1.1328125,
"available": true
},
"away": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4883720930232558,
"runs_scored": 646,
"runs_allowed": 615,
"run_differential": 31,
"run_differential_per_game": 0.24031007751937986,
"available": true
},
"run_differential_edge_per_game": 0.8925,
"win_pct_edge": 0.1132,
"quality_edge": 0.7955,
"season_quality_edge": 1.0623,
"recent_quality_blend": {
"method": "season_recent_quality_blend_v2_adaptive",
"recent_window": 10,
"season_quality_edge": 1.0623,
"recent_quality_edge": 0.3,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": 0.7955
},
"margin_adjustment": 0.3341,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": 0.3341,
"cap": 1.4,
"scale": 0.42,
"quality_edge": 0.7955,
"season_quality_edge": 1.0623,
"recent_alignment": "aligned",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 1.667,
"home_runs": 4.536,
"home_win_probability": 0.7438
}
}{
"most_likely": [
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.03423277644219198
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.033653046999848044
},
{
"home_runs": 4,
"away_runs": 2,
"probability": 0.03343282384891321
},
{
"home_runs": 3,
"away_runs": 2,
"probability": 0.03286664154235553
},
{
"home_runs": 5,
"away_runs": 3,
"probability": 0.029429080983760583
}
],
"home_distribution": {
"0": 0.05757614693647861,
"1": 0.09703084133254676,
"2": 0.13819548054750785,
"3": 0.16633924579463674,
"4": 0.16920471465410944,
"5": 0.14546115646794555,
"6": 0.10568137532093859,
"7": 0.06488834854611265,
"8": 0.03367067557119981,
"9": 0.014765691262468815,
"10": 0.005472333806506202,
"11": 0.0017139897595489575
},
"away_distribution": {
"0": 0.0936903404082248,
"1": 0.1528676717754464,
"2": 0.19758801589693903,
"3": 0.20231573636805028,
"4": 0.16410538888170192,
"5": 0.10544843435896838,
"6": 0.05367617301029052,
"7": 0.02164447553371061,
"8": 0.006914116684264587,
"9": 0.0017496470824034255
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": false,
"reasons": [
"recent head-to-head is split and volatile"
],
"signals": {
"predicted_team": "LAD",
"opponent_team": "PIT",
"h2h_net_margin": 10,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-06-11",
"predicted_team_runs": 8,
"opponent_runs": 6,
"margin_for_predicted_team": 2,
"winner": "LAD"
},
{
"date": "2026-06-10",
"predicted_team_runs": 8,
"opponent_runs": 9,
"margin_for_predicted_team": -1,
"winner": "PIT"
},
{
"date": "2026-06-09",
"predicted_team_runs": 12,
"opponent_runs": 3,
"margin_for_predicted_team": 9,
"winner": "LAD"
}
],
"prediction_memory": {
"available": false,
"reason": "no_verified_prior_matchup_predictions",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 0,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": []
},
"guardrail_predicted_team": "LAD",
"guardrail_opponent_team": "PIT",
"output_pre_simulation_winner": "LAD",
"output_opponent_team": "PIT",
"simulation_score_winner": "LAD",
"final_score_winner": "LAD",
"pre_simulation_winner": "LAD",
"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": "PIT 3 - 4 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "PIT 3 - 4 LAD",
"winner": "LAD"
},
"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.1482,
"recent_form_edge_home_minus_away": 0.4167,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 4,
"winner": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 10,
"published_winner": "LAD",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"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.7955,
"winner": "LAD",
"score_reviewed": {
"away_runs": 3,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published 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": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6015625,
"runs_scored": 640,
"runs_allowed": 495,
"run_differential": 145,
"run_differential_per_game": 1.1328125,
"available": true
},
"away": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4883720930232558,
"runs_scored": 646,
"runs_allowed": 615,
"run_differential": 31,
"run_differential_per_game": 0.24031007751937986,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.0,
"final_margin": 1.0,
"margin_cap": 2.0,
"season_quality_edge": 0.7955,
"reason": "raw target margin within supported range"
}{
"applied": true,
"policy": "align_to_calibrated_probability_v2",
"raw_confidence": 0.5594,
"final_confidence": 0.5805,
"calibrated_pick_probability": 0.5805,
"shrinkage_weight": 0.947297,
"hard_maximum": 0.9,
"confidence_floor": 0.505,
"score_gap": 1.0,
"calibration_sample_size": 204,
"calibration_empirical_hit_rate": 0.5588,
"calibration_bayesian_hit_rate": 0.5541,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.7955,
"reasons": [
"confidence aligned to the calibrated pick probability"
],
"score_coherence": {
"policy": "probability_follows_published_score_v1",
"published_score": {
"away_runs": 3,
"home_runs": 4
},
"margin": 1,
"probability_before": 0.58052,
"margin_implied_home_probability": 0.585,
"shrinkage_weight": 0.947297,
"side_flipped": false,
"applied": true,
"probability_after": 0.58276,
"aligned_pick_probability": 0.58276
}
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "PIT 3 - 4 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "PIT 3 - 4 LAD",
"winner": "LAD"
},
"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.1482,
"recent_form_edge_home_minus_away": 0.4167,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 4,
"winner": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 10,
"published_winner": "LAD",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"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.7955,
"winner": "LAD",
"score_reviewed": {
"away_runs": 3,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 4,
"confidence": 0.5597941,
"home_win_probability": 0.5597941,
"away_win_probability": 0.44020590000000004,
"predicted_score_text": "PIT 3 - 4 LAD",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "PIT",
"original_runs": 3,
"run_delta": -0.1261,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.12566693987101316,
"contact": 0.2598099426316702,
"power": 0.29792439419475764,
"discipline": 0.009985383692738022,
"xwoba": 0.3317941176470588,
"recent_xwoba": 0.3317941176470588,
"barrel": 8.96176470588235,
"ab_hard_contact": 0.0025999287130716864,
"ab_bat_speed": 70.24801152221697,
"ab_strikeout_rate": 0.23736475967292073,
"available_players": 9,
"top_players": [
{
"player_id": "665833",
"player_name": "Oneil Cruz",
"position": "CF",
"weight": 4.0,
"quality": 1.05590598834939,
"contact": 0.9347212283979248,
"power": 1.8507434975312862,
"discipline": -0.6498081977485646,
"xwoba": 0.361,
"recent_xwoba": 0.361,
"barrel": 17.0,
"ab_hard_contact": 1.2672509030066774,
"ab_bat_speed": 77.10669532627867,
"ab_strikeout_rate": 0.3701058201058201,
"available": 1.0
},
{
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "RF",
"weight": 4.0,
"quality": -0.7001536033552292,
"contact": -0.5006657904863314,
"power": -1.0056577828061957,
"discipline": -0.13417310643605396,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 2.2,
"ab_hard_contact": -1.2445842275524959,
"ab_bat_speed": 65.53601096603516,
"ab_strikeout_rate": 0.18847072879330945,
"available": 1.0
},
{
"player_id": "804668",
"player_name": "Rafael Flores Jr.",
"position": "C",
"weight": 3.0,
"quality": 0.27794008179450197,
"contact": 1.1498754653593763,
"power": 1.9448927539208885,
"discipline": 0.19794841600804933,
"xwoba": 0.413,
"recent_xwoba": 0.413,
"barrel": 21.2,
"ab_hard_contact": -0.11585920729651847,
"ab_bat_speed": 71.83209259259259,
"ab_strikeout_rate": 0.28777777777777774,
"available": 1.0
},
{
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"weight": 4.0,
"quality": 0.5448394767422604,
"contact": 0.5376253713190714,
"power": 0.6940544532345876,
"discipline": 0.38852880515295435,
"xwoba": 0.348,
"recent_xwoba": 0.348,
"barrel": 11.1,
"ab_hard_contact": 0.47956525516794113,
"ab_bat_speed": 71.04046498975934,
"ab_strikeout_rate": 0.23241167434715823,
"available": 1.0
},
{
"player_id": "669707",
"player_name": "Jared Triolo",
"position": "3B",
"weight": 3.0,
"quality": -0.3874398471647444,
"contact": -0.24896107451673682,
"power": -0.7631082213184169,
"discipline": 0.08684407996468832,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 2.5,
"ab_hard_contact": -0.4438787120826363,
"ab_bat_speed": 67.85359852884244,
"ab_strikeout_rate": 0.21495354239256678,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "808967",
"player_name": "Yoshinobu Yamamoto",
"quality": 0.470358598460181,
"contact": 0.6488338515635826,
"command": 0.3844621362433861,
"movement": 0.39858744228015464,
"xwoba": 0.273,
"whiff": 25.9,
"faced_est_woba": 0.33499130208333333,
"faced_launch_speed": 82.84057002314815,
"faced_strikeout_rate": 0.3184647817460317,
"faced_run_exp": 0.04178734841506046
}
},
"home": {
"team": "LAD",
"original_runs": 4,
"run_delta": 0.3147,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 37.0,
"quality": 0.4671208596178831,
"contact": 0.5607277165513804,
"power": 0.5123417954407983,
"discipline": 0.1993655882577467,
"xwoba": 0.34199999999999997,
"recent_xwoba": 0.34199999999999997,
"barrel": 9.15945945945946,
"ab_hard_contact": 0.20232555902609045,
"ab_bat_speed": 70.20947284223611,
"ab_strikeout_rate": 0.20676601093348557,
"available_players": 9,
"top_players": [
{
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"weight": 4.0,
"quality": 1.5188255420339942,
"contact": 1.5940516122882926,
"power": 2.0,
"discipline": 0.31295048640142376,
"xwoba": 0.409,
"recent_xwoba": 0.409,
"barrel": 16.7,
"ab_hard_contact": 1.0589935501580188,
"ab_bat_speed": 73.6030193236715,
"ab_strikeout_rate": 0.2276328502415459,
"available": 1.0
},
{
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"weight": 4.0,
"quality": 0.8443834436829692,
"contact": 1.143891885375868,
"power": 0.7340519325825511,
"discipline": 0.5202448872136112,
"xwoba": 0.374,
"recent_xwoba": 0.374,
"barrel": 8.8,
"ab_hard_contact": 0.4193243659367314,
"ab_bat_speed": 69.31660668372031,
"ab_strikeout_rate": 0.1546241637150728,
"available": 1.0
},
{
"player_id": "571970",
"player_name": "Max Muncy",
"position": "3B",
"weight": 3.0,
"quality": 0.6029479083452546,
"contact": 0.4196319726096447,
"power": 1.125241776127479,
"discipline": 0.024093779416570794,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 13.800000000000002,
"ab_hard_contact": 0.4930259987400563,
"ab_bat_speed": 70.14532188109162,
"ab_strikeout_rate": 0.2803467000835422,
"available": 1.0
},
{
"player_id": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"weight": 5.0,
"quality": 0.49314041612187354,
"contact": 0.6198933348175046,
"power": 0.34318023189023755,
"discipline": 0.5676668068126467,
"xwoba": 0.327,
"recent_xwoba": 0.327,
"barrel": 7.7,
"ab_hard_contact": 0.09427130447140754,
"ab_bat_speed": 68.04888957307061,
"ab_strikeout_rate": 0.11455938697318008,
"available": 1.0
},
{
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"weight": 6.0,
"quality": 0.38672582251517834,
"contact": 0.5648039852974329,
"power": 0.3534619754916677,
"discipline": 0.13405701066542405,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 7.7,
"ab_hard_contact": 0.25590617650001407,
"ab_bat_speed": 71.56621383963422,
"ab_strikeout_rate": 0.19688346883468835,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "696149",
"player_name": "Bubba Chandler",
"quality": 0.04587165187999408,
"contact": 0.22620218867873665,
"command": -0.47410052910052913,
"movement": 0.930990070662707,
"xwoba": 0.311,
"whiff": 23.1,
"faced_est_woba": 0.26554733936838626,
"faced_launch_speed": 83.81188821570295,
"faced_strikeout_rate": 0.23519890260631002,
"faced_run_exp": 0.006579622285186518
}
}
},
"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.7955,
"recent_form_edge_home_minus_away": 0.4167,
"pitcher_matchup_edge_home_minus_away": 0.1482,
"composite_home_edge": 1.0477,
"existing_home_win_probability": 0.5828,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 1.0477
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"uncapped_home_win_probability": 0.58276,
"uncapped_away_win_probability": 0.41724,
"confidence_shrinkage": {
"policy": "starter_quality_shrinkage_v3",
"staged_confidence": 0.58276,
"discount_factor": 0.7225,
"published_confidence": 0.559794,
"guardrail_confidence_cap": 0.6,
"guardrail_cap_enforced": false,
"applied_discounts": [
{
"reason": "projected_margin_is_one_run",
"factor": 0.85
},
{
"reason": "matchup_recency_guardrail",
"factor": 0.85
}
]
},
"confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "PIT 3 - 4 LAD",
"confidence": 0.5597941,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_simulation_realized_target",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "PIT 3 - 4 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "PIT 3 - 4 LAD",
"winner": "LAD"
},
"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.1482,
"recent_form_edge_home_minus_away": 0.4167,
"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": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "organic_simulation_realized_target",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_target_authoritative_simulation_realizes_v3",
"away_runs": 3,
"home_runs": 4,
"winner": "LAD",
"model_winner": "LAD",
"simulation_winner": "LAD",
"simulation_winner_agrees": true,
"simulation_agreement_scope": "selected_draw_only",
"simulation_distribution_agreement": {
"available": true,
"draw_count": 10,
"published_winner": "LAD",
"published_winner_draw_share": 0.5,
"draw_majority_team": null,
"published_winner_is_draw_majority": false,
"sampling": "target_conditioned_selection",
"is_unbiased_probability_sample": false,
"note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
},
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_simulation_realized_target",
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_realized_target": true,
"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.7955,
"winner": "LAD",
"score_reviewed": {
"away_runs": 3,
"home_runs": 4,
"source": "enhanced_prediction.pre_simulation_target"
},
"reason": "published margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "LAD",
"display_confidence": 0.5598,
"internal_signal_score": 0.6058,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5598,
"confidence_compression_detected": false,
"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.7955,
"winner_recent_form_edge": 0.3,
"winner_pitcher_matchup_edge": 0.1482,
"winner_simulation_draw_rate": 0.5,
"blowout_draw_rate_margin_4_plus": 0.1,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.6,
"total_runs_spread": {
"min": 2,
"median": 5,
"max": 10,
"range": 8
}
},
"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 PIT | True | 1.0239 | 1.0239 | 1 | 9 | 0 |
| Home LAD | True | 1.0550 | 1.0550 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Nick Gonzales | 126 | 1.0089 | 0.1192 | neutral | 0.3250 | 0.2830 | 0.3870 | 2.70 | 34.90 | 86.30 | 6.70 | 23.30 | 16.60 | 6.70 | -0.5429 |
| LF | Bryan Reynolds | 37 | 1.0607 | 0.8092 | neutral | 0.3480 | 0.2470 | 0.4280 | 11.10 | 46.80 | 90.60 | 7.30 | 28.90 | 24.10 | 13.40 | -0.1143 |
| CF | Oneil Cruz | 154 | 1.1014 | 1.3526 | neutral | 0.3610 | 0.2550 | 0.4960 | 17 | 58.70 | 95.80 | 7.70 | 37.30 | 34.80 | 10.70 | 0 |
| RF | Jake Mangum | 108 | 0.9554 | -0.5942 | negative_batter_regression | 0.2900 | 0.2540 | 0.3360 | 2.20 | 27.80 | 85.30 | 4.40 | 20.90 | 18.40 | 5.50 | -1.0857 |
| 2B | Brandon Lowe | 23 | 1.0439 | 0.5858 | neutral | 0.3270 | 0.2410 | 0.4370 | 12.20 | 46.80 | 91.20 | 16.20 | 34.90 | 28.70 | 8.90 | -0.4857 |
| 3B | Jared Triolo | 225 | 0.9798 | -0.2694 | neutral | 0.2900 | 0.2450 | 0.3200 | 2.50 | 37.60 | 87.70 | 4.30 | 22.10 | 20.30 | 8.20 | 0.2000 |
| 1B | Spencer Horwitz | 270 | 1.0011 | 0.0152 | neutral | 0.3240 | 0.2270 | 0.3660 | 7.30 | 31.90 | 87 | 16.60 | 15.20 | 14.10 | 12.60 | -0.5429 |
| C | Rafael Flores Jr. | 213 | 1.0485 | 0.6466 | negative_batter_regression | 0.4130 | 0.2700 | 0.6040 | 21.20 | 51.50 | 91 | 11.50 | 34.10 | 26.80 | 14.30 | -1.7714 |
| SS | Jacob Gonzalez | 387 | 1.0155 | 0.2072 | neutral | 0.3150 | 0.2620 | 0.4080 | 3.80 | 36.60 | 88.40 | 16.60 | 20.30 | 17.70 | 5.10 | 0.6286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Shohei Ohtani | 30 | 1.1411 | 1.8818 | neutral | 0.4090 | 0.2950 | 0.5800 | 16.70 | 52.50 | 93.50 | 12.80 | 30.90 | 23.10 | 13.10 | 0.4000 |
| CF | Andy Pages | 4 | 1.0486 | 0.6482 | neutral | 0.3400 | 0.2730 | 0.4390 | 7.70 | 42.20 | 88.80 | 15.60 | 22 | 19.30 | 8.20 | -0.1714 |
| SS | Mookie Betts | 96 | 1.0525 | 0.6996 | neutral | 0.3270 | 0.2740 | 0.4300 | 7.70 | 38.30 | 90.20 | 18.50 | 12.50 | 11.50 | 6.80 | 0.6286 |
| 3B | Max Muncy | 29 | 1.0677 | 0.9033 | neutral | 0.3490 | 0.2400 | 0.4790 | 13.80 | 45.50 | 90.50 | 17 | 29.50 | 25.40 | 11.30 | -0.3714 |
| 1B | Freddie Freeman | 42 | 1.0934 | 1.2459 | neutral | 0.3740 | 0.2990 | 0.4860 | 8.80 | 42.10 | 89.70 | 12.30 | 21.80 | 16.40 | 10.30 | 0.2000 |
| 2B | Tommy Edman | 142 | 1.0022 | 0.0294 | neutral | 0.3150 | 0.2620 | 0.3740 | 6 | 35.80 | 88.10 | 13.20 | 20.50 | 20 | 6.30 | -0.5143 |
| RF | Kyle Tucker | 448 | 1.0285 | 0.3796 | neutral | 0.3270 | 0.2560 | 0.3830 | 5.90 | 37.50 | 88.80 | 16.80 | 22.40 | 18.70 | 12 | 0.4857 |
| C | Hunter Feduccia | 268 | 1.0302 | 0.4021 | neutral | 0.3200 | 0.2490 | 0.3960 | 8.80 | 39.50 | 90.20 | 16.50 | 22.70 | 24.60 | 9.40 | 0.7714 |
| LF | Teoscar Hernández | 364 | 1.0308 | 0.4109 | neutral | 0.3180 | 0.2470 | 0.4160 | 9.20 | 43.90 | 89.90 | 14.40 | 31.60 | 27.10 | 8.10 | 0.1429 |
{
"home": {
"applied": true,
"offense_factor": 1.055,
"raw_average_factor": 1.055,
"team_espn_average_rank": 158.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.1411,
"quality_score": 1.8818,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660271",
"espn_id": 39832,
"player_name": "Shohei Ohtani",
"team": "LAD",
"role": "batter",
"espn_rank": 30,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 30,
"gp_value": 118.0,
"gp_rank": 88,
"ab_value": 457.0,
"ab_rank": 48,
"r_value": 82.0,
"r_rank": 9,
"h_value": 133.0,
"h_rank": 18,
"avg_value": 0.2910284,
"avg_rank": 13.0,
"2b_value": 24.0,
"2b_rank": 42,
"3b_value": 3.0,
"3b_rank": 27,
"hr_value": 30.0,
"hr_rank": 8,
"rbi_value": 80.0,
"rbi_rank": 9,
"tb_value": 253.0,
"tb_rank": 138,
"bb_value": 71.0,
"bb_rank": 12,
"so_value": 125.0,
"so_rank": 33,
"sb_value": 7.0,
"sb_rank": 113,
"obp_value": 0.3884758,
"obp_rank": "5",
"slg_value": 0.5536105,
"slg_rank": "2",
"ops_value": 0.9420863,
"ops_rank": 7.0,
"war_value": 3.76,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 510.0,
"k_percent": 23.1,
"bb_percent": 13.1,
"woba": 0.395,
"xwoba": 0.409,
"xba": 0.295,
"xslg": 0.58,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 16.7,
"hard_hit_percent": 52.5,
"exit_velocity_avg": 93.5,
"launch_angle_avg": 12.8,
"whiff_percent": 30.9,
"swing_percent": 46.7
},
"components": {
"expected_quality": 2.123,
"regression_edge": 0.4,
"xwoba_edge": 2.5,
"xba_edge": 1.6571,
"xslg_edge": 2.5,
"barrel_edge": 2.2,
"hard_hit_edge": 2.1214,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 0.9333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0486,
"quality_score": 0.6482,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 4,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 4,
"gp_value": 127.0,
"gp_rank": 12,
"ab_value": 492.0,
"ab_rank": 9,
"r_value": 72.0,
"r_rank": 30,
"h_value": 134.0,
"h_rank": 15,
"avg_value": 0.2723577,
"avg_rank": 38.0,
"2b_value": 25.0,
"2b_rank": 30,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 21.0,
"hr_rank": 34,
"rbi_value": 80.0,
"rbi_rank": 9,
"tb_value": 226.0,
"tb_rank": 271,
"bb_value": 45.0,
"bb_rank": 81,
"so_value": 106.0,
"so_rank": 68,
"sb_value": 12.0,
"sb_rank": 59,
"obp_value": 0.3375912,
"obp_rank": "61",
"slg_value": 0.4593495,
"slg_rank": "46",
"ops_value": 0.7969407,
"ops_rank": 15.0,
"war_value": 5.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 537.0,
"k_percent": 19.3,
"bb_percent": 8.2,
"woba": 0.346,
"xwoba": 0.34,
"xba": 0.273,
"xslg": 0.439,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 42.2,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 15.6,
"whiff_percent": 22.0,
"swing_percent": 47.8
},
"components": {
"expected_quality": 0.7816,
"regression_edge": -0.1714,
"xwoba_edge": 1.0857,
"xba_edge": 1.0286,
"xslg_edge": 1.0143,
"barrel_edge": 0.2,
"hard_hit_edge": 0.65,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.0525,
"quality_score": 0.6996,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605141",
"espn_id": 33039,
"player_name": "Mookie Betts",
"team": "LAD",
"role": "batter",
"espn_rank": 96,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 96,
"gp_value": 91.0,
"gp_rank": 203,
"ab_value": 354.0,
"ab_rank": 134,
"r_value": 49.0,
"r_rank": 128,
"h_value": 84.0,
"h_rank": 147,
"avg_value": 0.2372881,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 178,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 16.0,
"hr_rank": 80,
"rbi_value": 44.0,
"rbi_rank": 143,
"tb_value": 146.0,
"tb_rank": 1107,
"bb_value": 26.0,
"bb_rank": 202,
"so_value": 44.0,
"so_rank": 307,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.2905759,
"obp_rank": "-",
"slg_value": 0.4124293,
"slg_rank": "-",
"ops_value": 0.7030052,
"ops_rank": null,
"war_value": 2.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 369.0,
"k_percent": 11.5,
"bb_percent": 6.8,
"woba": 0.305,
"xwoba": 0.327,
"xba": 0.274,
"xslg": 0.43,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 38.3,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 18.5,
"whiff_percent": 12.5,
"swing_percent": 42.5
},
"components": {
"expected_quality": 0.7112,
"regression_edge": 0.6286,
"xwoba_edge": 0.7143,
"xba_edge": 1.0571,
"xslg_edge": 0.8857,
"barrel_edge": 0.2,
"hard_hit_edge": 0.0929,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 1.0333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "571970",
"player_name": "Max Muncy",
"offense_factor": 1.0677,
"quality_score": 0.9033,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571970",
"espn_id": 33303,
"player_name": "Max Muncy",
"team": "LAD",
"role": "batter",
"espn_rank": 29,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 29,
"gp_value": 118.0,
"gp_rank": 88,
"ab_value": 386.0,
"ab_rank": 116,
"r_value": 66.0,
"r_rank": 49,
"h_value": 97.0,
"h_rank": 109,
"avg_value": 0.2512953,
"avg_rank": 84.0,
"2b_value": 18.0,
"2b_rank": 115,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 25.0,
"hr_rank": 20,
"rbi_value": 64.0,
"rbi_rank": 49,
"tb_value": 192.0,
"tb_rank": 530,
"bb_value": 50.0,
"bb_rank": 55,
"so_value": 112.0,
"so_rank": 55,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.3424036,
"obp_rank": "57",
"slg_value": 0.4974093,
"slg_rank": "18",
"ops_value": 0.8398129,
"ops_rank": 75.0,
"war_value": 3.76,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 432.0,
"k_percent": 25.4,
"bb_percent": 11.3,
"woba": 0.362,
"xwoba": 0.349,
"xba": 0.24,
"xslg": 0.479,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 45.5,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 17.0,
"whiff_percent": 29.5,
"swing_percent": 45.4
},
"components": {
"expected_quality": 1.1108,
"regression_edge": -0.3714,
"xwoba_edge": 1.3429,
"xba_edge": 0.0857,
"xslg_edge": 1.5857,
"barrel_edge": 1.5556,
"hard_hit_edge": 1.1214,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.0934,
"quality_score": 1.2459,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 42,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 42,
"gp_value": 124.0,
"gp_rank": 32,
"ab_value": 468.0,
"ab_rank": 36,
"r_value": 62.0,
"r_rank": 63,
"h_value": 142.0,
"h_rank": 5,
"avg_value": 0.3034188,
"avg_rank": 8.0,
"2b_value": 30.0,
"2b_rank": 5,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 15.0,
"hr_rank": 96,
"rbi_value": 61.0,
"rbi_rank": 64,
"tb_value": 219.0,
"tb_rank": 534,
"bb_value": 55.0,
"bb_rank": 39,
"so_value": 87.0,
"so_rank": 122,
"sb_value": 6.0,
"sb_rank": 140,
"obp_value": 0.3759398,
"obp_rank": "12",
"slg_value": 0.4679487,
"slg_rank": "39",
"ops_value": 0.8438885,
"ops_rank": 27.0,
"war_value": 3.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 516.0,
"k_percent": 16.4,
"bb_percent": 10.3,
"woba": 0.367,
"xwoba": 0.374,
"xba": 0.299,
"xslg": 0.486,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 12.3,
"whiff_percent": 21.8,
"swing_percent": 50.5
},
"components": {
"expected_quality": 1.4161,
"regression_edge": 0.2,
"xwoba_edge": 2.0571,
"xba_edge": 1.7714,
"xslg_edge": 1.6857,
"barrel_edge": 0.4444,
"hard_hit_edge": 0.6357,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "669242",
"player_name": "Tommy Edman",
"offense_factor": 1.0022,
"quality_score": 0.0294,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669242",
"espn_id": 39907,
"player_name": "Tommy Edman",
"team": "LAD",
"role": "batter",
"espn_rank": 142,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 142,
"gp_value": 51.0,
"gp_rank": 374,
"ab_value": 170.0,
"ab_rank": 324,
"r_value": 25.0,
"r_rank": 279,
"h_value": 46.0,
"h_rank": 288,
"avg_value": 0.2705882,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 288,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 4.0,
"hr_rank": 310,
"rbi_value": 23.0,
"rbi_rank": 288,
"tb_value": 70.0,
"tb_rank": 1630,
"bb_value": 12.0,
"bb_rank": 346,
"so_value": 38.0,
"so_rank": 338,
"sb_value": 4.0,
"sb_rank": 187,
"obp_value": 0.3404255,
"obp_rank": "-",
"slg_value": 0.4117647,
"slg_rank": "-",
"ops_value": 0.7521902,
"ops_rank": null,
"war_value": 1.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 183.0,
"k_percent": 20.0,
"bb_percent": 6.3,
"woba": 0.333,
"xwoba": 0.315,
"xba": 0.262,
"xslg": 0.374,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 35.8,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 13.2,
"whiff_percent": 20.5,
"swing_percent": 48.4
},
"components": {
"expected_quality": 0.1248,
"regression_edge": -0.5143,
"xwoba_edge": 0.3714,
"xba_edge": 0.7143,
"xslg_edge": 0.0857,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.2643,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -0.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0285,
"quality_score": 0.3796,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 448,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 448,
"gp_value": 120.0,
"gp_rank": 70,
"ab_value": 427.0,
"ab_rank": 85,
"r_value": 68.0,
"r_rank": 43,
"h_value": 99.0,
"h_rank": 105,
"avg_value": 0.2318501,
"avg_rank": 119.0,
"2b_value": 19.0,
"2b_rank": 103,
"3b_value": 3.0,
"3b_rank": 27,
"hr_value": 11.0,
"hr_rank": 149,
"rbi_value": 55.0,
"rbi_rank": 84,
"tb_value": 157.0,
"tb_rank": 709,
"bb_value": 59.0,
"bb_rank": 31,
"so_value": 92.0,
"so_rank": 108,
"sb_value": 7.0,
"sb_rank": 113,
"obp_value": 0.326572,
"obp_rank": "81",
"slg_value": 0.3676814,
"slg_rank": "131",
"ops_value": 0.6942534,
"ops_rank": 212.0,
"war_value": -0.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 475.0,
"k_percent": 18.7,
"bb_percent": 12.0,
"woba": 0.31,
"xwoba": 0.327,
"xba": 0.256,
"xslg": 0.383,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 16.8,
"whiff_percent": 22.4,
"swing_percent": 48.9
},
"components": {
"expected_quality": 0.3623,
"regression_edge": 0.4857,
"xwoba_edge": 0.7143,
"xba_edge": 0.5429,
"xslg_edge": 0.2143,
"barrel_edge": -0.2,
"hard_hit_edge": -0.0214,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"offense_factor": 1.0302,
"quality_score": 0.4021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676439",
"espn_id": 41801,
"player_name": "Hunter Feduccia",
"team": "LAD",
"role": "batter",
"espn_rank": 268,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 268,
"gp_value": 74.0,
"gp_rank": 275,
"ab_value": 168.0,
"ab_rank": 327,
"r_value": 19.0,
"r_rank": 337,
"h_value": 39.0,
"h_rank": 321,
"avg_value": 0.2321428,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 288,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 3.0,
"hr_rank": 347,
"rbi_value": 13.0,
"rbi_rank": 373,
"tb_value": 58.0,
"tb_rank": 1896,
"bb_value": 18.0,
"bb_rank": 277,
"so_value": 47.0,
"so_rank": 289,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.3085106,
"obp_rank": "-",
"slg_value": 0.345238,
"slg_rank": "-",
"ops_value": 0.6537486,
"ops_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 24.6,
"bb_percent": 9.4,
"woba": 0.293,
"xwoba": 0.32,
"xba": 0.249,
"xslg": 0.396,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 39.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 16.5,
"whiff_percent": 22.7,
"swing_percent": 43.9
},
"components": {
"expected_quality": 0.4458,
"regression_edge": 0.7714,
"xwoba_edge": 0.5143,
"xba_edge": 0.3429,
"xslg_edge": 0.4,
"barrel_edge": 0.4444,
"hard_hit_edge": 0.2643,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.45,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"offense_factor": 1.0308,
"quality_score": 0.4109,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606192",
"espn_id": 33377,
"player_name": "Teoscar Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 364,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 364,
"gp_value": 93.0,
"gp_rank": 192,
"ab_value": 324.0,
"ab_rank": 171,
"r_value": 50.0,
"r_rank": 122,
"h_value": 81.0,
"h_rank": 155,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 178,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 11.0,
"hr_rank": 149,
"rbi_value": 43.0,
"rbi_rank": 152,
"tb_value": 130.0,
"tb_rank": 1026,
"bb_value": 29.0,
"bb_rank": 180,
"so_value": 97.0,
"so_rank": 90,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.3128491,
"obp_rank": "-",
"slg_value": 0.4012345,
"slg_rank": "-",
"ops_value": 0.7140836,
"ops_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 346.0,
"k_percent": 27.1,
"bb_percent": 8.1,
"woba": 0.313,
"xwoba": 0.318,
"xba": 0.247,
"xslg": 0.416,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 43.9,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 14.4,
"whiff_percent": 31.6,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.4546,
"regression_edge": 0.1429,
"xwoba_edge": 0.4571,
"xba_edge": 0.2857,
"xslg_edge": 0.6857,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.8929,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0239,
"raw_average_factor": 1.0239,
"team_espn_average_rank": 171.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "693304",
"player_name": "Nick Gonzales",
"offense_factor": 1.0089,
"quality_score": 0.1192,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693304",
"espn_id": 4311634,
"player_name": "Nick Gonzales",
"team": "PIT",
"role": "batter",
"espn_rank": 126,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 126,
"gp_value": 120.0,
"gp_rank": 70,
"ab_value": 451.0,
"ab_rank": 61,
"r_value": 66.0,
"r_rank": 49,
"h_value": 140.0,
"h_rank": 7,
"avg_value": 0.3104212,
"avg_rank": 3.0,
"2b_value": 22.0,
"2b_rank": 60,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 6.0,
"hr_rank": 257,
"rbi_value": 53.0,
"rbi_rank": 93,
"tb_value": 182.0,
"tb_rank": 1084,
"bb_value": 33.0,
"bb_rank": 156,
"so_value": 82.0,
"so_rank": 140,
"sb_value": 5.0,
"sb_rank": 163,
"obp_value": 0.368421,
"obp_rank": "19",
"slg_value": 0.4035476,
"slg_rank": "98",
"ops_value": 0.7719686,
"ops_rank": 79.0,
"war_value": 1.64,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 482.0,
"k_percent": 16.6,
"bb_percent": 6.7,
"woba": 0.344,
"xwoba": 0.325,
"xba": 0.283,
"xslg": 0.387,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 34.9,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 6.7,
"whiff_percent": 23.3,
"swing_percent": 53.3
},
"components": {
"expected_quality": 0.2269,
"regression_edge": -0.5429,
"xwoba_edge": 0.6571,
"xba_edge": 1.3143,
"xslg_edge": 0.2714,
"barrel_edge": -0.9111,
"hard_hit_edge": -0.3929,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"offense_factor": 1.0607,
"quality_score": 0.8092,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668804",
"espn_id": 38980,
"player_name": "Bryan Reynolds",
"team": "PIT",
"role": "batter",
"espn_rank": 37,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 37,
"gp_value": 129.0,
"gp_rank": 1,
"ab_value": 475.0,
"ab_rank": 28,
"r_value": 85.0,
"r_rank": 5,
"h_value": 124.0,
"h_rank": 33,
"avg_value": 0.2610526,
"avg_rank": 65.0,
"2b_value": 30.0,
"2b_rank": 5,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 15.0,
"hr_rank": 96,
"rbi_value": 66.0,
"rbi_rank": 45,
"tb_value": 203.0,
"tb_rank": 450,
"bb_value": 75.0,
"bb_rank": 9,
"so_value": 135.0,
"so_rank": 19,
"sb_value": 9.0,
"sb_rank": 87,
"obp_value": 0.3696428,
"obp_rank": "16",
"slg_value": 0.4273684,
"slg_rank": "71",
"ops_value": 0.7970112,
"ops_rank": 55.0,
"war_value": 3.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 546.0,
"k_percent": 24.1,
"bb_percent": 13.4,
"woba": 0.352,
"xwoba": 0.348,
"xba": 0.247,
"xslg": 0.428,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 46.8,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 7.3,
"whiff_percent": 28.9,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.9595,
"regression_edge": -0.1143,
"xwoba_edge": 1.3143,
"xba_edge": 0.2857,
"xslg_edge": 0.8571,
"barrel_edge": 0.9556,
"hard_hit_edge": 1.3071,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.5333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "665833",
"player_name": "Oneil Cruz",
"offense_factor": 1.1014,
"quality_score": 1.3526,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665833",
"espn_id": 39712,
"player_name": "Oneil Cruz",
"team": "PIT",
"role": "batter",
"espn_rank": 154,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 154,
"gp_value": 66.0,
"gp_rank": 313,
"ab_value": 256.0,
"ab_rank": 234,
"r_value": 46.0,
"r_rank": 143,
"h_value": 68.0,
"h_rank": 203,
"avg_value": 0.265625,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 247,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 15.0,
"hr_rank": 96,
"rbi_value": 47.0,
"rbi_rank": 128,
"tb_value": 123.0,
"tb_rank": 1280,
"bb_value": 31.0,
"bb_rank": 173,
"so_value": 101.0,
"so_rank": 81,
"sb_value": 22.0,
"sb_rank": 16,
"obp_value": 0.3517241,
"obp_rank": "-",
"slg_value": 0.4804687,
"slg_rank": "-",
"ops_value": 0.8321928,
"ops_rank": null,
"war_value": 1.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 277.0,
"k_percent": 34.8,
"bb_percent": 10.7,
"woba": 0.361,
"xwoba": 0.361,
"xba": 0.255,
"xslg": 0.496,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 17.0,
"hard_hit_percent": 58.7,
"exit_velocity_avg": 95.8,
"launch_angle_avg": 7.7,
"whiff_percent": 37.3,
"swing_percent": 43.6
},
"components": {
"expected_quality": 1.5728,
"regression_edge": 0.0,
"xwoba_edge": 1.6857,
"xba_edge": 0.5143,
"xslg_edge": 1.8286,
"barrel_edge": 2.2667,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "663968",
"player_name": "Jake Mangum",
"offense_factor": 0.9554,
"quality_score": -0.5942,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663968",
"espn_id": 42664,
"player_name": "Jake Mangum",
"team": "PIT",
"role": "batter",
"espn_rank": 108,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 108,
"gp_value": 106.0,
"gp_rank": 147,
"ab_value": 346.0,
"ab_rank": 144,
"r_value": 50.0,
"r_rank": 122,
"h_value": 103.0,
"h_rank": 97,
"avg_value": 0.2976878,
"avg_rank": null,
"2b_value": 15.0,
"2b_rank": 164,
"3b_value": 2.0,
"3b_rank": 62,
"hr_value": 4.0,
"hr_rank": 310,
"rbi_value": 28.0,
"rbi_rank": 256,
"tb_value": 134.0,
"tb_rank": 1315,
"bb_value": 21.0,
"bb_rank": 243,
"so_value": 70.0,
"so_rank": 188,
"sb_value": 21.0,
"sb_rank": 19,
"obp_value": 0.3518518,
"obp_rank": "-",
"slg_value": 0.3872832,
"slg_rank": "-",
"ops_value": 0.739135,
"ops_rank": null,
"war_value": 1.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 361.0,
"k_percent": 18.4,
"bb_percent": 5.5,
"woba": 0.328,
"xwoba": 0.29,
"xba": 0.254,
"xslg": 0.336,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 27.8,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 4.4,
"whiff_percent": 20.9,
"swing_percent": 58.4
},
"components": {
"expected_quality": -0.5142,
"regression_edge": -1.0857,
"xwoba_edge": -0.3429,
"xba_edge": 0.4857,
"xslg_edge": -0.4571,
"barrel_edge": -1.0222,
"hard_hit_edge": -1.4071,
"exit_velocity_edge": -1.32,
"sweet_spot_edge": -0.9833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "664040",
"player_name": "Brandon Lowe",
"offense_factor": 1.0439,
"quality_score": 0.5858,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664040",
"espn_id": 39961,
"player_name": "Brandon Lowe",
"team": "PIT",
"role": "batter",
"espn_rank": 23,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 23,
"gp_value": 120.0,
"gp_rank": 70,
"ab_value": 475.0,
"ab_rank": 28,
"r_value": 76.0,
"r_rank": 23,
"h_value": 120.0,
"h_rank": 42,
"avg_value": 0.2526315,
"avg_rank": 82.0,
"2b_value": 25.0,
"2b_rank": 30,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 27.0,
"hr_rank": 14,
"rbi_value": 80.0,
"rbi_rank": 9,
"tb_value": 228.0,
"tb_rank": 276,
"bb_value": 47.0,
"bb_rank": 67,
"so_value": 153.0,
"so_rank": 9,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.3182674,
"obp_rank": "99",
"slg_value": 0.48,
"slg_rank": "32",
"ops_value": 0.7982674,
"ops_rank": 67.0,
"war_value": 3.86,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 521.0,
"k_percent": 28.7,
"bb_percent": 8.9,
"woba": 0.344,
"xwoba": 0.327,
"xba": 0.241,
"xslg": 0.437,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 46.8,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 16.2,
"whiff_percent": 34.9,
"swing_percent": 50.0
},
"components": {
"expected_quality": 0.7602,
"regression_edge": -0.4857,
"xwoba_edge": 0.7143,
"xba_edge": 0.1143,
"xslg_edge": 0.9857,
"barrel_edge": 1.2,
"hard_hit_edge": 1.3071,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "669707",
"player_name": "Jared Triolo",
"offense_factor": 0.9798,
"quality_score": -0.2694,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669707",
"espn_id": 42933,
"player_name": "Jared Triolo",
"team": "PIT",
"role": "batter",
"espn_rank": 225,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 225,
"gp_value": 92.0,
"gp_rank": 197,
"ab_value": 260.0,
"ab_rank": 229,
"r_value": 28.0,
"r_rank": 255,
"h_value": 62.0,
"h_rank": 230,
"avg_value": 0.2384615,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 207,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 2.0,
"hr_rank": 392,
"rbi_value": 24.0,
"rbi_rank": 280,
"tb_value": 80.0,
"tb_rank": 2155,
"bb_value": 24.0,
"bb_rank": 216,
"so_value": 59.0,
"so_rank": 241,
"sb_value": 9.0,
"sb_rank": 87,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.3076923,
"slg_rank": "-",
"ops_value": 0.6201923,
"ops_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 286.0,
"k_percent": 20.3,
"bb_percent": 8.2,
"woba": 0.283,
"xwoba": 0.29,
"xba": 0.245,
"xslg": 0.32,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 4.3,
"whiff_percent": 22.1,
"swing_percent": 44.8
},
"components": {
"expected_quality": -0.3458,
"regression_edge": 0.2,
"xwoba_edge": -0.3429,
"xba_edge": 0.2286,
"xslg_edge": -0.6857,
"barrel_edge": -0.9556,
"hard_hit_edge": -0.0071,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "687462",
"player_name": "Spencer Horwitz",
"offense_factor": 1.0011,
"quality_score": 0.0152,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687462",
"espn_id": 4228472,
"player_name": "Spencer Horwitz",
"team": "PIT",
"role": "batter",
"espn_rank": 270,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 270,
"gp_value": 87.0,
"gp_rank": 222,
"ab_value": 293.0,
"ab_rank": 197,
"r_value": 37.0,
"r_rank": 194,
"h_value": 75.0,
"h_rank": 175,
"avg_value": 0.2559726,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 207,
"3b_value": 1.0,
"3b_rank": 123,
"hr_value": 10.0,
"hr_rank": 160,
"rbi_value": 38.0,
"rbi_rank": 181,
"tb_value": 119.0,
"tb_rank": 1108,
"bb_value": 44.0,
"bb_rank": 84,
"so_value": 49.0,
"so_rank": 277,
"sb_value": 1.0,
"sb_rank": 312,
"obp_value": 0.3620689,
"obp_rank": "-",
"slg_value": 0.4061433,
"slg_rank": "-",
"ops_value": 0.7682122,
"ops_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 337.0,
"k_percent": 14.1,
"bb_percent": 12.6,
"woba": 0.343,
"xwoba": 0.324,
"xba": 0.227,
"xslg": 0.366,
"sweet_spot_percent": 26.6,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 31.9,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 16.6,
"whiff_percent": 15.2,
"swing_percent": 40.8
},
"components": {
"expected_quality": 0.1061,
"regression_edge": -0.5429,
"xwoba_edge": 0.6286,
"xba_edge": -0.2857,
"xslg_edge": -0.0286,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.8214,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": -1.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "804668",
"player_name": "Rafael Flores Jr.",
"offense_factor": 1.0485,
"quality_score": 0.6466,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "804668",
"espn_id": 5131743,
"player_name": "Rafael Flores Jr.",
"team": "PIT",
"role": "batter",
"espn_rank": 213,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 213,
"gp_value": 19.0,
"gp_rank": 491,
"ab_value": 48.0,
"ab_rank": 487,
"r_value": 10.0,
"r_rank": 424,
"h_value": 15.0,
"h_rank": 447,
"avg_value": 0.3125,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 460,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 6.0,
"hr_rank": 257,
"rbi_value": 12.0,
"rbi_rank": 380,
"tb_value": 35.0,
"tb_rank": 2220,
"bb_value": 8.0,
"bb_rank": 403,
"so_value": 15.0,
"so_rank": 482,
"sb_value": 0.0,
"sb_rank": 417,
"obp_value": 0.4107142,
"obp_rank": "-",
"slg_value": 0.7291666,
"slg_rank": "-",
"ops_value": 1.1398808,
"ops_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 53.0,
"k_percent": 26.8,
"bb_percent": 14.3,
"woba": 0.475,
"xwoba": 0.413,
"xba": 0.27,
"xslg": 0.604,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 21.2,
"hard_hit_percent": 51.5,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 11.5,
"whiff_percent": 34.1,
"swing_percent": 38.7
},
"components": {
"expected_quality": 1.9592,
"regression_edge": -1.7714,
"xwoba_edge": 2.5,
"xba_edge": 0.9429,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 1.9786,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"offense_factor": 1.0155,
"quality_score": 0.2072,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694378",
"espn_id": 4720990,
"player_name": "Jacob Gonzalez",
"team": "PIT",
"role": "batter",
"espn_rank": 387,
"espn_total_ranked": 642,
"metrics": {
"espn_rank": 387,
"gp_value": 59.0,
"gp_rank": 336,
"ab_value": 161.0,
"ab_rank": 338,
"r_value": 19.0,
"r_rank": 337,
"h_value": 37.0,
"h_rank": 329,
"avg_value": 0.2298136,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 307,
"3b_value": 0.0,
"3b_rank": 271,
"hr_value": 6.0,
"hr_rank": 257,
"rbi_value": 28.0,
"rbi_rank": 256,
"tb_value": 62.0,
"tb_rank": 1949,
"bb_value": 9.0,
"bb_rank": 388,
"so_value": 31.0,
"so_rank": 381,
"sb_value": 2.0,
"sb_rank": 256,
"obp_value": 0.2816091,
"obp_rank": "-",
"slg_value": 0.3850931,
"slg_rank": "-",
"ops_value": 0.6667022,
"ops_rank": null,
"war_value": 0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 169.0,
"k_percent": 17.7,
"bb_percent": 5.1,
"woba": 0.293,
"xwoba": 0.315,
"xba": 0.262,
"xslg": 0.408,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 36.6,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 16.6,
"whiff_percent": 20.3,
"swing_percent": 58.1
},
"components": {
"expected_quality": 0.2114,
"regression_edge": 0.6286,
"xwoba_edge": 0.3714,
"xba_edge": 0.7143,
"xslg_edge": 0.5714,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.15,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.25,
"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 PIT | True | 124 | -0.0266 | 1 | 1.0023 | 0.9771 | 1.0600 | 0.9714 | neutral | 0.3110 | 0.3050 | 20.50 | 12.10 | 23.10 | 5.70 | 37.10 | |
| Home LAD | True | 10 | 0.4991 | 1 | 0.9576 | 1.0160 | 0.9400 | 0.9462 | neutral | 0.2730 | 0.2450 | 24.50 | 6.10 | 25.90 | 6.50 | 35.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away PIT | True | None | 90 | 94.82 | 2358 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2746 | |
| Home LAD | True | None | 102 | 91.11 | 2169 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0668 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9686 |
| home_runs_vs_away_pitcher | 1.0014 |
| home_pitcher_starter_only_factor | 0.9576 |
| away_pitcher_starter_only_factor | 1.0023 |
| home_pitcher_workload_share | 0.7407 |
| away_pitcher_workload_share | 0.5926 |
| home_pitcher_quality_edge | 0.3855 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "808967",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 532.0,
"k_percent": 24.5,
"bb_percent": 6.1,
"woba": 0.245,
"xwoba": 0.273,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 35.9,
"avg_best_speed": 76.1777,
"avg_hyper_speed": 93.7712,
"whiff_percent": 25.9,
"swing_percent": 49.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8747,
"command_and_miss": 0.3229,
"regression_edge": -0.8,
"xwoba_edge": 1.1143,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.2429,
"whiff_edge": 0.0714,
"bb_edge": 0.75,
"pitch_design_score": 0.0668
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808967",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 102,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 102,
"pitch_usage": 0.0,
"release_speed": 91.10807720301315,
"release_spin_rate": 2168.8992794620294,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 102,
"pitch_usage": 0.0,
"release_speed": 91.10807720301315,
"release_spin_rate": 2168.8992794620294,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1081,
"release_spin_rate": 2168.8993,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0668,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4771,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4991,
"sample_weight": 1.0,
"run_prevention_factor": 0.9576,
"strikeout_factor": 1.016,
"walk_factor": 0.94,
"homer_factor": 0.9462,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808967",
"espn_id": 4872587,
"player_name": "Yoshinobu Yamamoto",
"team": "LAD",
"role": "pitcher",
"espn_rank": 10,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 10,
"gp_value": 22.0,
"gp_rank": 325,
"gs_value": 22.0,
"gs_rank": 64,
"qs_value": 17.0,
"qs_rank": 3,
"era_value": 2.6009,
"era_rank": 8.0,
"w_value": 12.0,
"w_rank": 9,
"l_value": 7.0,
"l_rank": 62,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 145.1,
"ip_rank": 14,
"h_value": 96.0,
"h_rank": 100,
"er_value": 42.0,
"er_rank": 122,
"hr_value": 15.0,
"hr_rank": 65,
"bb_value": 34.0,
"bb_rank": 97,
"k_value": 136.0,
"k_rank": 30,
"k_per_9_value": 8.422019,
"k_per_9_rank": 57.0,
"whip_value": 0.8944,
"whip_rank": 2.0,
"war_value": 4.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "696149",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 506.0,
"k_percent": 20.5,
"bb_percent": 12.1,
"woba": 0.305,
"xwoba": 0.311,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 37.1,
"avg_best_speed": 78.3306,
"avg_hyper_speed": 93.6638,
"whiff_percent": 23.1,
"swing_percent": 47.9
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.1176,
"command_and_miss": -0.3743,
"regression_edge": -0.1714,
"xwoba_edge": 0.0286,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.0714,
"whiff_edge": -0.3286,
"bb_edge": -0.75,
"pitch_design_score": 0.2746
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696149",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 94.81800046068726,
"release_spin_rate": 2358.2424909216998,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 94.81800046068726,
"release_spin_rate": 2358.2424909216998,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.818,
"release_spin_rate": 2358.2425,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2746,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9611,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0266,
"sample_weight": 1.0,
"run_prevention_factor": 1.0023,
"strikeout_factor": 0.9771,
"walk_factor": 1.06,
"homer_factor": 0.9714,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696149",
"espn_id": 4683325,
"player_name": "Bubba Chandler",
"team": "PIT",
"role": "pitcher",
"espn_rank": 124,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 124,
"gp_value": 24.0,
"gp_rank": 284,
"gs_value": 23.0,
"gs_rank": 53,
"qs_value": 4.0,
"qs_rank": 116,
"era_value": 4.228,
"era_rank": null,
"w_value": 6.0,
"w_rank": 90,
"l_value": 8.0,
"l_rank": 33,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 121.1,
"ip_rank": 71,
"h_value": 102.0,
"h_rank": 88,
"er_value": 57.0,
"er_rank": 50,
"hr_value": 10.0,
"hr_rank": 142,
"bb_value": 64.0,
"bb_rank": 3,
"k_value": 108.0,
"k_rank": 68,
"k_per_9_value": 8.010989,
"k_per_9_rank": 25.0,
"whip_value": 1.3681,
"whip_rank": null,
"war_value": 1.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9686,
"home_runs_vs_away_pitcher": 1.0014,
"home_pitcher_starter_only_factor": 0.9576,
"away_pitcher_starter_only_factor": 1.0023,
"home_pitcher_workload_share": 0.7407,
"away_pitcher_workload_share": 0.5926,
"home_pitcher_quality_edge": 0.3855
},
"score_before": {
"away_runs": 2.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 1.9372,
"home_runs": 4.0055,
"home_win_probability": 0.6827
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away PIT | 5-5 | 0.500 | 4.50 | 4.50 | 0 | 2W | average | average |
| Home LAD | 7-3 | 0.700 | 4.90 | 4.20 | 7 | 3W | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away PIT | 63-66 | 0.488 | 31 | 0.240 | True |
| Home LAD | 77-51 | 0.602 | 145 | 1.133 | True |
| Signal | - | - | 0.892 | 0.795 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-06-11 | LAD @ PIT | 8 - 6 | LAD | 2 | close |
| 2026-06-10 | LAD @ PIT | 8 - 9 | PIT | 1 | close |
| 2026-06-09 | LAD @ PIT | 12 - 3 | LAD | 9 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target PIT | - | - | 3 | - | - | - | - |
| Game target LAD | - | - | 4 | - | - | - | - |
| Player finalized PIT | 34 | 8 | 4 | 1 | 4 | 3 | 8 |
| Player finalized LAD | 37 | 9 | 5 | 1 | 5 | 3 | 7 |
| Player model fractional PIT | 32.04 | 8.12 | 4.46 | 1.30 | 4.15 | 3.41 | 7.69 |
| Player model fractional LAD | 34.86 | 8.46 | 5.03 | 1.35 | 4.68 | 3.20 | 7.13 |
| Simulation box PIT | 33 | 6 | 3 | 2 | 3 | 4 | 6 |
| Simulation box LAD | 31 | 7 | 4 | 0 | 4 | 2 | 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 PIT | Starter | Bubba Chandler | 5.10 | 2 | 6 | 3 | 2 | 3.37 | 1.25 | True |
| Away PIT | Setup Man | Luke Weaver | 1.10 | 2 | 0 | 4 | 0 | 4.27 | 1.16 | True |
| Away PIT | Closer | Mason Montgomery | 1.10 | 0 | 1 | 0 | 0 | 2.37 | 0.91 | True |
| Home LAD | Starter | Yoshinobu Yamamoto | 6.20 | 2 | 6 | 2 | 3 | 2.64 | 0.95 | True |
| Home LAD | Setup Man | Edgardo Henriquez | 1 | 1 | 0 | 2 | 1 | 3.59 | 1.05 | True |
| Home LAD | Closer | Tanner Scott | 1 | 0 | 0 | 0 | 0 | 2.85 | 1.17 | True |
| Home LAD | Middle Reliever (High Leverage) | Brock Stewart | 0.10 | 0 | 0 | 0 | 0 | 3.55 | 0.98 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | LAD | batter | 2B | Tommy Edman | worse | 8 | 2 | 6 | 1 | 7 | predicted_SO | 2.2130 | boost | worse |
| home | LAD | batter | CF | Andy Pages | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | -1.8900 | deboost | worse |
| home | LAD | batter | 3B | Max Muncy | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 1.7300 | boost | better |
| away | PIT | batter | CF | Oneil Cruz | worse | 10 | 0 | 10 | 1 | 9 | predicted_SO | -1.5540 | deboost | better |
| away | PIT | batter | C | Rafael Flores Jr. | better | 10 | 5 | 5 | 6 | 4 | predicted_HR | 1.5500 | boost | better |
| away | PIT | batter | 1B | Spencer Horwitz | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.4370 | boost | worse |
| home | LAD | batter | 1B | Freddie Freeman | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | -1.3800 | deboost | worse |
| home | LAD | batter | SS | Mookie Betts | worse | 10 | 4 | 6 | 3 | 7 | predicted_RBI | 1.3300 | boost | better |
| away | PIT | batter | 2B | Brandon Lowe | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -1.2800 | deboost | worse |
| away | PIT | batter | DH | Nick Gonzales | worse | 10 | 5 | 5 | 4 | 6 | predicted_H | -1.1640 | deboost | worse |
| home | LAD | batter | DH | Shohei Ohtani | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | -1.1200 | deboost | worse |
| home | LAD | batter | LF | Teoscar Hernández | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.0440 | deboost | better |
| away | PIT | pitcher | Closer | Mason Montgomery | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | LAD | pitcher | Starter | Yoshinobu Yamamoto | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | LAD | pitcher | Setup Man | Edgardo Henriquez | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| away | PIT | batter | LF | Bryan Reynolds | worse | 8 | 2 | 6 | 2 | 6 | predicted_AB | -0.9900 | deboost | worse |
| away | PIT | batter | RF | Jake Mangum | better | 9 | 5 | 4 | 6 | 3 | predicted_H | 0.9260 | boost | better |
| away | PIT | batter | SS | Jacob Gonzalez | worse | 10 | 2 | 8 | 3 | 7 | predicted_BB | 0.8390 | boost | better |
| home | LAD | batter | RF | Kyle Tucker | better | 11 | 7 | 4 | 6 | 5 | predicted_2B | 0.8380 | boost | better |
| home | LAD | batter | C | Hunter Feduccia | worse | 10 | 1 | 9 | 2 | 8 | predicted_BB | 0.7610 | boost | better |
| away | PIT | batter | 3B | Jared Triolo | worse | 10 | 3 | 7 | 4 | 6 | predicted_BB | 0.7110 | boost | better |
| away | PIT | pitcher | Starter | Bubba Chandler | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | LAD | pitcher | Middle Reliever (High Leverage) | Brock Stewart | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | PIT | pitcher | Setup Man | Luke Weaver | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Bubba Chandler |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0266 |
| ESPN Rank | 124 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2746 |
| Avg Velo | 94.8180 |
| Avg Spin | 2358.2425 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 6 |
| Season ERA | 4.2280 |
| Season WHIP | 1.3681 |
| Role Avg IP | 5.0430 |
| Recent Avg IP | 5.4000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4884,
"runs_scored": 646.0,
"runs_allowed": 615.0,
"run_differential": 31.0,
"run_differential_per_game": 0.2403,
"avg_runs_scored": 5.0078,
"avg_runs_allowed": 4.7674,
"offense_index": 1.1172,
"defense_index": 0.9402,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.5,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.0196
},
"opponent": {
"team": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6016,
"runs_scored": 640.0,
"runs_allowed": 495.0,
"run_differential": 145.0,
"run_differential_per_game": 1.1328,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8672,
"offense_index": 1.1154,
"defense_index": 1.1591,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.2,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.2954
},
"edges": {
"quality_edge": -0.2758,
"offense_edge": 0.1172,
"opponent_offense_edge": 0.1154,
"defense_strength": -0.0598,
"opponent_defense_weakness": -0.1591,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9826,
"run_prevention": 1.0382,
"strikeout": 0.9825
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "696149",
"profile": {
"available": true,
"pitcher_id": "696149",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 506.0,
"k_percent": 20.5,
"bb_percent": 12.1,
"woba": 0.305,
"xwoba": 0.311,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 37.1,
"avg_best_speed": 78.3306,
"avg_hyper_speed": 93.6638,
"whiff_percent": 23.1,
"swing_percent": 47.9
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.1176,
"command_and_miss": -0.3743,
"regression_edge": -0.1714,
"xwoba_edge": 0.0286,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.0714,
"whiff_edge": -0.3286,
"bb_edge": -0.75,
"pitch_design_score": 0.2746
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696149",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 94.81800046068726,
"release_spin_rate": 2358.2424909216998,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 94.81800046068726,
"release_spin_rate": 2358.2424909216998,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.818,
"release_spin_rate": 2358.2425,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2746,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9611,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.0266,
"sample_weight": 1.0,
"run_prevention_factor": 1.0023,
"strikeout_factor": 0.9771,
"walk_factor": 1.06,
"homer_factor": 0.9714,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696149",
"espn_id": 4683325,
"player_name": "Bubba Chandler",
"team": "PIT",
"role": "pitcher",
"espn_rank": 124,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 124,
"gp_value": 24.0,
"gp_rank": 284,
"gs_value": 23.0,
"gs_rank": 53,
"qs_value": 4.0,
"qs_rank": 116,
"era_value": 4.228,
"era_rank": null,
"w_value": 6.0,
"w_rank": 90,
"l_value": 8.0,
"l_rank": 33,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 121.1,
"ip_rank": 71,
"h_value": 102.0,
"h_rank": 88,
"er_value": 57.0,
"er_rank": 50,
"hr_value": 10.0,
"hr_rank": 142,
"bb_value": 64.0,
"bb_rank": 3,
"k_value": 108.0,
"k_rank": 68,
"k_per_9_value": 8.010989,
"k_per_9_rank": 25.0,
"whip_value": 1.3681,
"whip_rank": null,
"war_value": 1.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0023,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0023,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.06,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9714,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9771,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 53.1,
"ER": 21,
"H": 49,
"BB": 23,
"SO": 40,
"HR": 2,
"ERA": 3.5437499999999997,
"WHIP": 1.3499999999999999,
"K9": 6.75,
"HR9": 0.33749999999999997,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-14T00:00:00"
}{
"available": true,
"pitcher_id": "696149",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 94.81800046068726,
"release_spin_rate": 2358.2424909216998,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 94.81800046068726,
"release_spin_rate": 2358.2424909216998,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.818,
"release_spin_rate": 2358.2425,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2746,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9611,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 24.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8276,
"prior_weight": 0.1724
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "696149",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 7.0,
"R": 10.0,
"H": 20.0,
"BB": 9.0,
"SO": 23.0,
"HR": 0.0,
"BF": 107.0,
"Pitches": 443.0
},
"per_game": {
"IP": 5.1,
"ER": 1.4,
"R": 2.0,
"H": 4.0,
"BB": 1.8,
"SO": 4.6,
"HR": 0.0,
"BF": 21.4,
"Pitches": 88.6
},
"rates": {
"ERA": 2.3333,
"WHIP": 1.0741,
"ER_per_IP": 0.25926,
"H_per_IP": 0.74074,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.85185,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.1,
"ER": 21.0,
"R": 24.0,
"H": 49.0,
"BB": 23.0,
"SO": 40.0,
"HR": 2.0,
"BF": 227.0,
"Pitches": 872.0
},
"per_game": {
"IP": 5.1,
"ER": 2.1,
"R": 2.4,
"H": 4.9,
"BB": 2.3,
"SO": 4.0,
"HR": 0.2,
"BF": 22.7,
"Pitches": 87.2
},
"rates": {
"ERA": 3.5437,
"WHIP": 1.35,
"ER_per_IP": 0.39375,
"H_per_IP": 0.91875,
"BB_per_IP": 0.43125,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0375
}
},
"season": {
"games": 24,
"totals": {
"IP": 121.1,
"ER": 57.0,
"R": 66.0,
"H": 102.0,
"BB": 64.0,
"SO": 108.0,
"HR": 10.0,
"BF": 528.0,
"Pitches": 2075.0
},
"per_game": {
"IP": 5.0,
"ER": 2.375,
"R": 2.75,
"H": 4.25,
"BB": 2.6667,
"SO": 4.5,
"HR": 0.4167,
"BF": 22.0,
"Pitches": 86.4583
},
"rates": {
"ERA": 4.228,
"WHIP": 1.3681,
"ER_per_IP": 0.46978,
"H_per_IP": 0.84066,
"BB_per_IP": 0.52747,
"SO_per_IP": 0.89011,
"HR_per_IP": 0.08242
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 1.978,
"predicted_H": 4.48,
"predicted_BB": 2.109,
"predicted_SO": 4.465,
"predicted_HR": 0.263,
"predicted_ERA": 3.3729,
"predicted_WHIP": 1.2483
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4228,
"form_weight": 0.5772,
"form_reliability": 0.8276,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 24.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8276,
"prior_weight": 0.1724
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.978,
"final": 1.9873,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.48,
"final": 3.8542,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.109,
"final": 2.0629,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.465,
"final": 5.1141,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.263,
"final": 0.1518,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3729,
"final": 3.3729,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2483,
"final": 1.2483,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Luke Weaver |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4048 |
| ESPN Rank | 79 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1297 |
| Avg Velo | 92.2320 |
| Avg Spin | 2257.8936 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 2 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.2500 |
| Season WHIP | 0.8750 |
| Role Avg IP | 1.0430 |
| Recent Avg IP | 1 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4884,
"runs_scored": 646.0,
"runs_allowed": 615.0,
"run_differential": 31.0,
"run_differential_per_game": 0.2403,
"avg_runs_scored": 5.0078,
"avg_runs_allowed": 4.7674,
"offense_index": 1.1172,
"defense_index": 0.9402,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.5,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.0196
},
"opponent": {
"team": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6016,
"runs_scored": 640.0,
"runs_allowed": 495.0,
"run_differential": 145.0,
"run_differential_per_game": 1.1328,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8672,
"offense_index": 1.1154,
"defense_index": 1.1591,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.2,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.2954
},
"edges": {
"quality_edge": -0.2758,
"offense_edge": 0.1172,
"opponent_offense_edge": 0.1154,
"defense_strength": -0.0598,
"opponent_defense_weakness": -0.1591,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9826,
"run_prevention": 1.0382,
"strikeout": 0.9825
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596133",
"profile": {
"available": true,
"pitcher_id": "596133",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 182.0,
"k_percent": 26.2,
"bb_percent": 6.4,
"woba": 0.224,
"xwoba": 0.269,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 35.5,
"avg_best_speed": 78.6809,
"avg_hyper_speed": 93.5412,
"whiff_percent": 30.1,
"swing_percent": 53.3
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.9129,
"command_and_miss": 0.6271,
"regression_edge": -1.2857,
"xwoba_edge": 1.2286,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.3,
"whiff_edge": 0.6714,
"bb_edge": 0.675,
"pitch_design_score": 0.1297
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596133",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 92.23202588167848,
"release_spin_rate": 2257.8935541104165,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 92.23202588167848,
"release_spin_rate": 2257.8935541104165,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.232,
"release_spin_rate": 2257.8936,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1297,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9267,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4048,
"sample_weight": 0.728,
"run_prevention_factor": 0.9656,
"strikeout_factor": 1.0362,
"walk_factor": 0.9607,
"homer_factor": 0.9774,
"woba_minus_xwoba": -0.045,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "596133",
"espn_id": 33770,
"player_name": "Luke Weaver",
"team": "PIT",
"role": "pitcher",
"espn_rank": 79,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 79,
"gp_value": 46.0,
"gp_rank": 95,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.25,
"era_rank": null,
"w_value": 2.0,
"w_rank": 286,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 15.0,
"hld_rank": 28,
"ip_value": 48.0,
"ip_rank": 278,
"h_value": 30.0,
"h_rank": 375,
"er_value": 12.0,
"er_rank": 434,
"hr_value": 3.0,
"hr_rank": 404,
"bb_value": 12.0,
"bb_rank": 410,
"k_value": 49.0,
"k_rank": 252,
"k_per_9_value": 9.1875,
"k_per_9_rank": 24.0,
"whip_value": 0.875,
"whip_rank": null,
"war_value": 1.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.975,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.975,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9714,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9835,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0264,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 4,
"H": 9,
"BB": 1,
"SO": 7,
"HR": 1,
"ERA": 3.6,
"WHIP": 1.0,
"K9": 6.3,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "596133",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 92.23202588167848,
"release_spin_rate": 2257.8935541104165,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 92.23202588167848,
"release_spin_rate": 2257.8935541104165,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.232,
"release_spin_rate": 2257.8936,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1297,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9267,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.623,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6581,
"prior_weight": 0.3419
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "596133",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 46,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 4.2,
"Pitches": 14.8
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2,
"ER_per_IP": 0.6,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 4.0,
"H": 9.0,
"BB": 1.0,
"SO": 7.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.9,
"BB": 0.1,
"SO": 0.7,
"HR": 0.1,
"BF": 4.0,
"Pitches": 14.5
},
"rates": {
"ERA": 3.6,
"WHIP": 1.0,
"ER_per_IP": 0.4,
"H_per_IP": 0.9,
"BB_per_IP": 0.1,
"SO_per_IP": 0.7,
"HR_per_IP": 0.1
}
},
"season": {
"games": 46,
"totals": {
"IP": 48.0,
"ER": 12.0,
"R": 13.0,
"H": 30.0,
"BB": 12.0,
"SO": 49.0,
"HR": 3.0,
"BF": 187.0,
"Pitches": 704.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2609,
"R": 0.2826,
"H": 0.6522,
"BB": 0.2609,
"SO": 1.0652,
"HR": 0.0652,
"BF": 4.0652,
"Pitches": 15.3043
},
"rates": {
"ERA": 2.25,
"WHIP": 0.875,
"ER_per_IP": 0.25,
"H_per_IP": 0.625,
"BB_per_IP": 0.25,
"SO_per_IP": 1.02083,
"HR_per_IP": 0.0625
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.474,
"predicted_H": 0.918,
"predicted_BB": 0.24,
"predicted_SO": 0.917,
"predicted_HR": 0.082,
"predicted_ERA": 4.2667,
"predicted_WHIP": 1.1586
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4945,
"form_weight": 0.5055,
"form_reliability": 0.6581,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.623,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6581,
"prior_weight": 0.3419
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.474,
"final": 1.2285,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 0.918,
"final": 2.4419,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.24,
"final": 0.1213,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.917,
"final": 0.4636,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.082,
"final": 0.0415,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2667,
"final": 4.2667,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1586,
"final": 1.1586,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Mason Montgomery |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.8618 |
| ESPN Rank | 135 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.2080 |
| Avg Spin | 2342.9606 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.0397 |
| Season WHIP | 1.0927 |
| Role Avg IP | 0.9860 |
| Recent Avg IP | 0.8670 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4884,
"runs_scored": 646.0,
"runs_allowed": 615.0,
"run_differential": 31.0,
"run_differential_per_game": 0.2403,
"avg_runs_scored": 5.0078,
"avg_runs_allowed": 4.7674,
"offense_index": 1.1172,
"defense_index": 0.9402,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.5,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.0196
},
"opponent": {
"team": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6016,
"runs_scored": 640.0,
"runs_allowed": 495.0,
"run_differential": 145.0,
"run_differential_per_game": 1.1328,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8672,
"offense_index": 1.1154,
"defense_index": 1.1591,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.2,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.2954
},
"edges": {
"quality_edge": -0.2758,
"offense_edge": 0.1172,
"opponent_offense_edge": 0.1154,
"defense_strength": -0.0598,
"opponent_defense_weakness": -0.1591,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9826,
"run_prevention": 1.0382,
"strikeout": 0.9825
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682254",
"profile": {
"available": true,
"pitcher_id": "682254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 203.0,
"k_percent": 39.0,
"bb_percent": 10.0,
"woba": 0.258,
"xwoba": 0.247,
"sweet_spot_percent": 23.4,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 40.2,
"avg_best_speed": 73.4941,
"avg_hyper_speed": 94.3417,
"whiff_percent": 32.9,
"swing_percent": 49.7
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.1445,
"command_and_miss": 1.41,
"regression_edge": 0.3143,
"xwoba_edge": 1.8571,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.3714,
"whiff_edge": 1.0714,
"bb_edge": -0.225,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 95.20800391387384,
"release_spin_rate": 2342.9605848239034,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 95.20800391387384,
"release_spin_rate": 2342.9605848239034,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.208,
"release_spin_rate": 2342.9606,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.8618,
"sample_weight": 0.812,
"run_prevention_factor": 0.9267,
"strikeout_factor": 1.1128,
"walk_factor": 1.0146,
"homer_factor": 0.9856,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682254",
"espn_id": 4424112,
"player_name": "Mason Montgomery",
"team": "PIT",
"role": "pitcher",
"espn_rank": 135,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 135,
"gp_value": 52.0,
"gp_rank": 51,
"gs_value": 5.0,
"gs_rank": 203,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.3973,
"era_rank": null,
"w_value": 5.0,
"w_rank": 117,
"l_value": 3.0,
"l_rank": 210,
"sv_value": 5.0,
"sv_rank": 39,
"hld_value": 9.0,
"hld_rank": 85,
"ip_value": 50.1,
"ip_rank": 254,
"h_value": 36.0,
"h_rank": 318,
"er_value": 19.0,
"er_rank": 295,
"hr_value": 5.0,
"hr_rank": 285,
"bb_value": 21.0,
"bb_rank": 234,
"k_value": 82.0,
"k_rank": 119,
"k_per_9_value": 14.662251,
"k_per_9_rank": 12.0,
"whip_value": 1.1324,
"whip_rank": null,
"war_value": 1.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9405,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9405,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0119,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9883,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0916,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 2,
"H": 5,
"BB": 2,
"SO": 19,
"HR": 1,
"ERA": 2.0,
"WHIP": 0.7777777777777778,
"K9": 19.0,
"HR9": 1.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": "682254",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 95.20800391387384,
"release_spin_rate": 2342.9605848239034,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 95.20800391387384,
"release_spin_rate": 2342.9605848239034,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 95.208,
"release_spin_rate": 2342.9606,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 10.09,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6687,
"prior_weight": 0.3313
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "682254",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 51,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 10.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 3.2,
"Pitches": 14.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4615,
"ER_per_IP": 0.0,
"H_per_IP": 0.46154,
"BB_per_IP": 0.0,
"SO_per_IP": 2.30769,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 19.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 155.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.2,
"SO": 1.9,
"HR": 0.1,
"BF": 3.7,
"Pitches": 15.5
},
"rates": {
"ERA": 2.0,
"WHIP": 0.7778,
"ER_per_IP": 0.22222,
"H_per_IP": 0.55556,
"BB_per_IP": 0.22222,
"SO_per_IP": 2.11111,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 51,
"totals": {
"IP": 50.1,
"ER": 17.0,
"R": 17.0,
"H": 34.0,
"BB": 21.0,
"SO": 82.0,
"HR": 4.0,
"BF": 208.0,
"Pitches": 877.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.3333,
"H": 0.6667,
"BB": 0.4118,
"SO": 1.6078,
"HR": 0.0784,
"BF": 4.0784,
"Pitches": 17.1961
},
"rates": {
"ERA": 3.0397,
"WHIP": 1.0927,
"ER_per_IP": 0.33775,
"H_per_IP": 0.6755,
"BB_per_IP": 0.41722,
"SO_per_IP": 1.62914,
"HR_per_IP": 0.07947
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.205,
"predicted_H": 0.531,
"predicted_BB": 0.179,
"predicted_SO": 1.341,
"predicted_HR": 0.067,
"predicted_ERA": 2.369,
"predicted_WHIP": 0.9106
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.49,
"form_weight": 0.51,
"form_reliability": 0.6687,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.09,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6687,
"prior_weight": 0.3313
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.205,
"final": 0.1046,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.531,
"final": 0.2708,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.179,
"final": 0.0913,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.341,
"final": 1.1739,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0342,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.369,
"final": 2.369,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9106,
"final": 0.9106,
"source": "form_only"
}
}
}{
"available": false,
"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.190 | 0.000 | 1.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 3.793 | 4.000 | 4.000 | Hitting_AB | 3.969 | 3.000 | 0.031 | 1.000 |
| predicted_AVG | 0.307 | 0.000 | 0.250 | Hitting_AVG | 0.317 | 0.667 | -0.317 | -0.667 |
| predicted_BB | 0.267 | 0.000 | 0.000 | Hitting_BB | 0.284 | 1.000 | -0.284 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.164 | 0.000 | 1.000 | Hitting_H | 1.259 | 2.000 | -1.259 | -2.000 |
| predicted_HR | 0.034 | 0.000 | 0.000 | Hitting_HR | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_OBP | 0.352 | 0.000 | 0.250 | Hitting_OBP | 0.374 | 0.750 | -0.374 | -0.750 |
| predicted_R | 0.534 | 0.000 | 0.000 | Hitting_R | 0.578 | 0.000 | -0.578 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_SLG | 0.389 | 0.000 | 0.500 | Hitting_SLG | 0.402 | 0.667 | -0.402 | -0.667 |
| predicted_SO | 0.681 | 1.000 | 1.000 | Hitting_SO | 0.696 | 0.000 | 0.304 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.6810 -> 1.0000 (boost 0.3190, worse) |
| Biggest Deboost | predicted_H: 1.1640 -> 0.0000 (deboost -1.1640, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 4 | 3 | 5 | 2 | predicted_BB: 0.2670 -> 0.3640 (boost 0.0970, better) | predicted_AB: 3.7930 -> 3.6722 (deboost -0.1208, worse) | Final model input calibrated with local form: 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.4179 -> 0.4100 (deboost -0.0079, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.5887 -> 1.0000 (boost 0.4113, worse) | predicted_RBI: 0.3738 -> 0.0000 (deboost -0.3738, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.309 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5426 -> 1.0000 (boost 0.4574, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 1 | 1 | 1 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 5 | 1 | 4 | 1 | 4 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3970 -> 0.4100 (boost 0.0130, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693304",
"player_name": "Nick Gonzales",
"position": "DH",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.19,
"predicted_3B": 0.009,
"predicted_AB": 3.793,
"predicted_AVG": 0.307,
"predicted_BB": 0.267,
"predicted_H": 1.164,
"predicted_HR": 0.034,
"predicted_OBP": 0.352,
"predicted_R": 0.534,
"predicted_RBI": 0.44,
"predicted_SLG": 0.389,
"predicted_SO": 0.681
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2307,
"predicted_3B": 0.0073,
"predicted_AB": 3.6722,
"predicted_AVG": 0.3258,
"predicted_BB": 0.364,
"predicted_H": 1.193,
"predicted_HBP": 0.13,
"predicted_HR": 0.0301,
"predicted_OBP": 0.388,
"predicted_R": 0.5608,
"predicted_RBI": 0.3863,
"predicted_SLG": 0.4179,
"predicted_SO": 0.5866
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.2307,
"delta": 0.0407,
"percent_delta": 0.2142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0073,
"delta": -0.0017,
"percent_delta": -0.1889,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.793,
"after": 3.6722,
"delta": -0.1208,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.307,
"after": 0.3258,
"delta": 0.0188,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.364,
"delta": 0.097,
"percent_delta": 0.3633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.164,
"after": 1.193,
"delta": 0.029,
"percent_delta": 0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.034,
"after": 0.0301,
"delta": -0.0039,
"percent_delta": -0.1147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.388,
"delta": 0.036,
"percent_delta": 0.1023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.534,
"after": 0.5608,
"delta": 0.0268,
"percent_delta": 0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.3863,
"delta": -0.0537,
"percent_delta": -0.122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.4179,
"delta": 0.0289,
"percent_delta": 0.0743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 0.5866,
"delta": -0.0944,
"percent_delta": -0.1386,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.267,
"after": 0.364,
"delta": 0.097,
"percent_delta": 0.3633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.793,
"after": 3.6722,
"delta": -0.1208,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2307,
"predicted_3B": 0.0073,
"predicted_AB": 3.6722,
"predicted_AVG": 0.319,
"predicted_BB": 0.3627,
"predicted_H": 1.1715,
"predicted_HBP": 0.13,
"predicted_HR": 0.0296,
"predicted_OBP": 0.3802,
"predicted_R": 0.5426,
"predicted_RBI": 0.3738,
"predicted_SLG": 0.41,
"predicted_SO": 0.5887
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2307,
"after": 0.2307,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0073,
"after": 0.0073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6722,
"after": 3.6722,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3258,
"after": 0.319,
"delta": -0.0068,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.3627,
"delta": -0.0013,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.193,
"after": 1.1715,
"delta": -0.0215,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.13,
"after": 0.13,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0301,
"after": 0.0296,
"delta": -0.0005,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.3802,
"delta": -0.0078,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5608,
"after": 0.5426,
"delta": -0.0182,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3863,
"after": 0.3738,
"delta": -0.0125,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4179,
"after": 0.41,
"delta": -0.0079,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5866,
"after": 0.5887,
"delta": 0.0021,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4179,
"after": 0.41,
"delta": -0.0079,
"percent_delta": -0.0189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.309 HR/AB=0.008",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2307,
"after": 0.0,
"delta": -0.2307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0073,
"after": 0.0,
"delta": -0.0073,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6722,
"after": 4.0,
"delta": 0.3278,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3627,
"after": 0.0,
"delta": -0.3627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1715,
"after": 1.0,
"delta": -0.1715,
"percent_delta": -0.1464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0296,
"after": 0.0,
"delta": -0.0296,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3738,
"after": 0.0,
"delta": -0.3738,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5887,
"after": 1.0,
"delta": 0.4113,
"percent_delta": 0.6987,
"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.5887,
"after": 1.0,
"delta": 0.4113,
"percent_delta": 0.6987,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3738,
"after": 0.0,
"delta": -0.3738,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5426,
"after": 1.0,
"delta": 0.4574,
"percent_delta": 0.843,
"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.5426,
"after": 1.0,
"delta": 0.4574,
"percent_delta": 0.843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.309,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.374,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.397,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.319,
"after": 0.309,
"delta": -0.01,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3802,
"after": 0.374,
"delta": -0.0062,
"percent_delta": -0.0163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.397,
"delta": -0.013,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.319,
"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.3802,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.41,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.319,
"delta": 0.01,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3802,
"delta": 0.0062,
"percent_delta": 0.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.41,
"delta": 0.013,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.41,
"delta": 0.013,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.793,
"after": 4.0,
"delta": 0.207,
"percent_delta": 0.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.307,
"after": 0.319,
"delta": 0.012,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.164,
"after": 0.0,
"delta": -1.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3802,
"delta": 0.0282,
"percent_delta": 0.0801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.534,
"after": 0.0,
"delta": -0.534,
"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.389,
"after": 0.41,
"delta": 0.021,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.681,
"after": 1.0,
"delta": 0.319,
"percent_delta": 0.4684,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.681,
"after": 1.0,
"delta": 0.319,
"percent_delta": 0.4684,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.164,
"after": 0.0,
"delta": -1.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.793 | - |
| predicted_AVG | 0.307 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 1.164 | - |
| predicted_HR | 0.034 | - |
| predicted_OBP | 0.352 | - |
| predicted_R | 0.534 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.389 | - |
| predicted_SO | 0.681 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | 0.041 |
| predicted_3B | 0.007 | -0.002 |
| predicted_AB | 3.672 | -0.121 |
| predicted_AVG | 0.326 | 0.019 |
| predicted_BB | 0.364 | 0.097 |
| predicted_H | 1.193 | 0.029 |
| predicted_HBP | 0.130 | - |
| predicted_HR | 0.030 | -0.004 |
| predicted_OBP | 0.388 | 0.036 |
| predicted_R | 0.561 | 0.027 |
| predicted_RBI | 0.386 | -0.054 |
| predicted_SLG | 0.418 | 0.029 |
| predicted_SO | 0.587 | -0.094 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 3.672 | 0.000 |
| predicted_AVG | 0.319 | -0.007 |
| predicted_BB | 0.363 | -0.001 |
| predicted_H | 1.171 | -0.022 |
| predicted_HBP | 0.130 | 0.000 |
| predicted_HR | 0.030 | -0.000 |
| predicted_OBP | 0.380 | -0.008 |
| predicted_R | 0.543 | -0.018 |
| predicted_RBI | 0.374 | -0.012 |
| predicted_SLG | 0.410 | -0.008 |
| predicted_SO | 0.589 | 0.002 |
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.309 HR/AB=0.008
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.231 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | 0.328 |
| predicted_AVG | 0.309 | -0.010 |
| predicted_BB | 0.000 | -0.363 |
| predicted_H | 1.000 | -0.171 |
| predicted_HR | 0.000 | -0.030 |
| predicted_OBP | 0.374 | -0.006 |
| predicted_R | 1.000 | 0.457 |
| predicted_RBI | 0.000 | -0.374 |
| predicted_SLG | 0.397 | -0.013 |
| predicted_SO | 1.000 | 0.411 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 7.000 | 2.000 | 0.000 | 0.000 | 0.000 | 4.000 | 5.000 | 0.000 | 0.5000 | 0.6500 | 0.6429 | 0.5000 | 0.0000 | 0.0000 | 0.3571 | 0.0000 |
| last_10 | 0.20 | 10 | - | 33.000 | 12.000 | 4.000 | 0.000 | 0.000 | 3.000 | 5.000 | 5.000 | 3.000 | 0.3636 | 0.4750 | 0.4848 | 0.3636 | 0.0000 | 0.0909 | 0.1515 | 0.0909 |
| season | 0.60 | 116 | - | 440.000 | 135.000 | 22.000 | 1.000 | 4.000 | 51.000 | 62.000 | 31.000 | 79.000 | 0.3068 | 0.3638 | 0.3886 | 0.3068 | 0.0091 | 0.1159 | 0.0704 | 0.1795 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2840 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.5140 |
| predicted_AVG | 0.3504 |
| predicted_BB | 0.4910 |
| predicted_H | 1.2310 |
| predicted_HBP | 0.1300 |
| predicted_HR | 0.0250 |
| predicted_OBP | 0.4352 |
| predicted_R | 0.5960 |
| predicted_RBI | 0.3160 |
| predicted_SLG | 0.4557 |
| predicted_SO | 0.4630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.2840 | 0.2307 | model_form_blend |
| predicted_3B | 0.0090 | 0.0050 | 0.0073 | model_form_blend |
| predicted_AB | 3.7930 | 3.5140 | 3.6722 | model_form_blend |
| predicted_AVG | 0.3070 | 0.3504 | 0.3258 | model_form_blend |
| predicted_BB | 0.2670 | 0.4910 | 0.3640 | model_form_blend |
| predicted_H | 1.1640 | 1.2310 | 1.1930 | model_form_blend |
| predicted_HBP | - | 0.1300 | 0.1300 | form_only |
| predicted_HR | 0.0340 | 0.0250 | 0.0301 | model_form_blend |
| predicted_OBP | 0.3520 | 0.4352 | 0.3880 | model_form_blend |
| predicted_R | 0.5340 | 0.5960 | 0.5608 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3160 | 0.3863 | model_form_blend |
| predicted_SLG | 0.3890 | 0.4557 | 0.4179 | model_form_blend |
| predicted_SO | 0.6810 | 0.4630 | 0.5866 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 490 |
| Season rows before report date | 490 |
| 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 693304 |
| playerID | 693304 |
| playerName | Nick Gonzales |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 16.6 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.344 |
| sl_xwoba | 0.325 |
| sl_xba | 0.283 |
| sl_xslg | 0.387 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 34.9 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 6.7 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 53.3 |
| at_bat_number | 65.0 |
| ab_pitcher | 640448.0 |
| ab_pitcher_name | Finnegan, Kyle |
| ab_home_team | PIT |
| ab_away_team | DET |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 665833.0 |
| ab_on_2b_start | 665833.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | walk |
| ab_event_description | Nick Gonzales walks. |
| ab_event_type | B |
| ab_pitch_type_last | FS |
| ab_pitch_name_last | Split-Finger |
| 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 | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 88.93333333333334 |
| ab_release_spin_rate_avg | 1846.3333333333333 |
| ab_effective_speed_avg | 89.98333333333333 |
| ab_delta_run_exp_avg | 0.0295 |
| ab_delta_home_win_exp_avg | 0.0095 |
| ab_delta_pitcher_run_exp_avg | -0.0295 |
| ab_bat_speed_avg | 53.25 |
| ab_swing_length_avg | 7.05 |
| ab_release_speed_max | 96.0 |
| ab_release_spin_rate_max | 2278.0 |
| ab_release_speed_min | 84.2 |
| ab_release_spin_rate_min | 1064.0 |
| ab_delta_run_exp_sum | 0.177 |
| ab_delta_home_win_exp_sum | 0.057 |
| ab_delta_pitcher_run_exp_sum | -0.177 |
| 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.230 | 0.000 | 0.000 | Hitting_2B | 0.241 | 0.000 | -0.241 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.990 | 3.000 | 4.000 | Hitting_AB | 3.763 | 4.000 | -0.763 | -1.000 |
| predicted_AVG | 0.221 | 0.000 | 0.250 | Hitting_AVG | 0.268 | 0.250 | -0.268 | -0.250 |
| predicted_BB | 0.595 | 1.000 | 1.000 | Hitting_BB | 0.634 | 0.000 | 0.366 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 0.000 | 1.000 | Hitting_H | 1.007 | 1.000 | -1.007 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.309 | 0.250 | 0.400 | Hitting_OBP | 0.380 | 0.250 | -0.130 | 0.000 |
| predicted_R | 0.651 | 0.000 | 1.000 | Hitting_R | 0.693 | 0.000 | -0.693 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.535 | 0.000 | -0.535 | 0.000 |
| predicted_SLG | 0.356 | 0.000 | 0.250 | Hitting_SLG | 0.444 | 0.250 | -0.444 | -0.250 |
| predicted_SO | 1.024 | 1.000 | 1.000 | Hitting_SO | 1.079 | 0.000 | -0.079 | 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.5950 -> 1.0000 (boost 0.4050, better) |
| Biggest Deboost | predicted_AB: 3.9900 -> 3.0000 (deboost -0.9900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2210 -> 0.2273 (boost 0.0063, better) | predicted_AB: 3.9900 -> 3.8930 (deboost -0.0970, worse) | Final model input calibrated with local 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_BB: 0.5314 -> 1.0000 (boost 0.4686, better) | predicted_RBI: 0.4758 -> 0.0000 (deboost -0.4758, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.217 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5962 -> 1.0000 (boost 0.4038, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3490 -> 0.3573 (boost 0.0083, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.23,
"predicted_3B": 0.016,
"predicted_AB": 3.99,
"predicted_AVG": 0.221,
"predicted_BB": 0.595,
"predicted_H": 0.88,
"predicted_HR": 0.1,
"predicted_OBP": 0.309,
"predicted_R": 0.651,
"predicted_RBI": 0.49,
"predicted_SLG": 0.356,
"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.2326,
"predicted_3B": 0.0134,
"predicted_AB": 3.893,
"predicted_AVG": 0.2273,
"predicted_BB": 0.5333,
"predicted_H": 0.883,
"predicted_HBP": 0.034,
"predicted_HR": 0.0896,
"predicted_OBP": 0.3135,
"predicted_R": 0.6162,
"predicted_RBI": 0.4917,
"predicted_SLG": 0.3596,
"predicted_SO": 0.9849
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.2326,
"delta": 0.0026,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0134,
"delta": -0.0026,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 3.893,
"delta": -0.097,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2273,
"delta": 0.0063,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.595,
"after": 0.5333,
"delta": -0.0617,
"percent_delta": -0.1037,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.883,
"delta": 0.003,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0896,
"delta": -0.0104,
"percent_delta": -0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3135,
"delta": 0.0045,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.651,
"after": 0.6162,
"delta": -0.0348,
"percent_delta": -0.0535,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4917,
"delta": 0.0017,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3596,
"delta": 0.0036,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 0.9849,
"delta": -0.0391,
"percent_delta": -0.0382,
"direction": "no_change",
"projection_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.221,
"after": 0.2273,
"delta": 0.0063,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.893,
"delta": -0.097,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2326,
"predicted_3B": 0.0134,
"predicted_AB": 3.893,
"predicted_AVG": 0.2227,
"predicted_BB": 0.5314,
"predicted_H": 0.8671,
"predicted_HBP": 0.034,
"predicted_HR": 0.0882,
"predicted_OBP": 0.3161,
"predicted_R": 0.5962,
"predicted_RBI": 0.4758,
"predicted_SLG": 0.3573,
"predicted_SO": 0.9884
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2326,
"after": 0.2326,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.893,
"after": 3.893,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2273,
"after": 0.2227,
"delta": -0.0046,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5333,
"after": 0.5314,
"delta": -0.0019,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.883,
"after": 0.8671,
"delta": -0.0159,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0896,
"after": 0.0882,
"delta": -0.0014,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3135,
"after": 0.3161,
"delta": 0.0026,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6162,
"after": 0.5962,
"delta": -0.02,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4917,
"after": 0.4758,
"delta": -0.0159,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3596,
"after": 0.3573,
"delta": -0.0023,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9849,
"after": 0.9884,
"delta": 0.0035,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.99), rates preserved: AVG=0.217 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2326,
"after": 0.0,
"delta": -0.2326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0,
"delta": -0.0134,
"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_BB",
"before": 0.5314,
"after": 1.0,
"delta": 0.4686,
"percent_delta": 0.8818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8671,
"after": 1.0,
"delta": 0.1329,
"percent_delta": 0.1533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0882,
"after": 0.0,
"delta": -0.0882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4758,
"after": 0.0,
"delta": -0.4758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9884,
"after": 1.0,
"delta": 0.0116,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5314,
"after": 1.0,
"delta": 0.4686,
"percent_delta": 0.8818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4758,
"after": 0.0,
"delta": -0.4758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5962,
"after": 1.0,
"delta": 0.4038,
"percent_delta": 0.6773,
"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.5962,
"after": 1.0,
"delta": 0.4038,
"percent_delta": 0.6773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_R",
"before": 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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 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": 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.217,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.314,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.349,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2227,
"after": 0.217,
"delta": -0.0057,
"percent_delta": -0.0256,
"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.3161,
"after": 0.314,
"delta": -0.0021,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3573,
"after": 0.349,
"delta": -0.0083,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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_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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2227,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3161,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3573,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2227,
"delta": 0.0057,
"percent_delta": 0.0264,
"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.314,
"after": 0.3161,
"delta": 0.0021,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3573,
"delta": 0.0083,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3573,
"delta": 0.0083,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"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.99,
"after": 3.0,
"delta": -0.99,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2227,
"delta": 0.0017,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3161,
"delta": 0.0071,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.651,
"after": 0.0,
"delta": -0.651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3573,
"delta": 0.0013,
"percent_delta": 0.0037,
"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": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.0,
"delta": -0.99,
"percent_delta": -0.2481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.230 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.595 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.651 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.356 | - |
| 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.233 | 0.003 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.893 | -0.097 |
| predicted_AVG | 0.227 | 0.006 |
| predicted_BB | 0.533 | -0.062 |
| predicted_H | 0.883 | 0.003 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.090 | -0.010 |
| predicted_OBP | 0.314 | 0.005 |
| predicted_R | 0.616 | -0.035 |
| predicted_RBI | 0.492 | 0.002 |
| predicted_SLG | 0.360 | 0.004 |
| predicted_SO | 0.985 | -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.233 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.893 | 0.000 |
| predicted_AVG | 0.223 | -0.005 |
| predicted_BB | 0.531 | -0.002 |
| predicted_H | 0.867 | -0.016 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.088 | -0.001 |
| predicted_OBP | 0.316 | 0.003 |
| predicted_R | 0.596 | -0.020 |
| predicted_RBI | 0.476 | -0.016 |
| predicted_SLG | 0.357 | -0.002 |
| predicted_SO | 0.988 | 0.003 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.217 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.233 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.107 |
| predicted_AVG | 0.217 | -0.006 |
| predicted_BB | 1.000 | 0.469 |
| predicted_H | 1.000 | 0.133 |
| predicted_HR | 0.000 | -0.088 |
| predicted_OBP | 0.314 | -0.002 |
| predicted_R | 1.000 | 0.404 |
| predicted_RBI | 0.000 | -0.476 |
| predicted_SLG | 0.349 | -0.008 |
| predicted_SO | 1.000 | 0.012 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 0.000 | 0.000 | 3.000 | 2.000 | 1.000 | 4.000 | 0.2000 | 0.2381 | 0.2500 | 0.2000 | 0.0000 | 0.1500 | 0.0500 | 0.2000 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 3.000 | 0.000 | 0.000 | 3.000 | 5.000 | 3.000 | 8.000 | 0.1842 | 0.2439 | 0.2632 | 0.1842 | 0.0000 | 0.0790 | 0.0790 | 0.2105 |
| season | 0.60 | 126 | - | 463.000 | 122.000 | 29.000 | 2.000 | 15.000 | 66.000 | 82.000 | 75.000 | 129.000 | 0.2635 | 0.3729 | 0.4320 | 0.2635 | 0.0324 | 0.1426 | 0.1620 | 0.2786 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2360 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.7670 |
| predicted_AVG | 0.2356 |
| predicted_BB | 0.4530 |
| predicted_H | 0.8870 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.0760 |
| predicted_OBP | 0.3194 |
| predicted_R | 0.5710 |
| predicted_RBI | 0.4940 |
| predicted_SLG | 0.3642 |
| predicted_SO | 0.9340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2300 | 0.2360 | 0.2326 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 3.9900 | 3.7670 | 3.8930 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2356 | 0.2273 | model_form_blend |
| predicted_BB | 0.5950 | 0.4530 | 0.5333 | model_form_blend |
| predicted_H | 0.8800 | 0.8870 | 0.8830 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.1000 | 0.0760 | 0.0896 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3194 | 0.3135 | model_form_blend |
| predicted_R | 0.6510 | 0.5710 | 0.6162 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4940 | 0.4917 | model_form_blend |
| predicted_SLG | 0.3560 | 0.3642 | 0.3596 | model_form_blend |
| predicted_SO | 1.0240 | 0.9340 | 0.9849 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 557 |
| Season rows before report date | 557 |
| Report year | 2026 |
| Profile rows used | 126 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 668804 |
| playerID | 668804 |
| playerName | Bryan Reynolds |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.352 |
| sl_xwoba | 0.348 |
| sl_xba | 0.247 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 46.8 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 7.3 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 46.3 |
| at_bat_number | 62.0 |
| ab_pitcher | 640448.0 |
| ab_pitcher_name | Finnegan, Kyle |
| ab_home_team | PIT |
| ab_away_team | DET |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| 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 | 2.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Bryan Reynolds lines out sharply to left fielder Ben Malgeri. |
| 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 | 5.0 |
| ab_launch_speed_last | 101.3 |
| ab_launch_angle_last | 14.0 |
| ab_hit_distance_last | 270.0 |
| ab_estimated_ba_last | 0.809 |
| ab_estimated_woba_last | 0.811 |
| ab_estimated_slg_last | 1.074 |
| 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 | 0.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 92.73333333333332 |
| ab_release_spin_rate_avg | 2170.333333333333 |
| ab_effective_speed_avg | 93.26666666666668 |
| ab_launch_speed_avg | 101.3 |
| ab_launch_angle_avg | 14.0 |
| ab_delta_run_exp_avg | -0.0863333333333333 |
| ab_delta_home_win_exp_avg | -0.021 |
| ab_delta_pitcher_run_exp_avg | 0.0863333333333333 |
| ab_bat_speed_avg | 69.5 |
| ab_swing_length_avg | 5.9 |
| ab_launch_speed_max | 101.3 |
| ab_hit_distance_sc_max | 270.0 |
| ab_release_speed_max | 96.4 |
| ab_release_spin_rate_max | 2246.0 |
| ab_release_speed_min | 86.2 |
| ab_release_spin_rate_min | 2093.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | -0.063 |
| 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.154 | 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.170 | 4.000 | 4.000 | Hitting_AB | 4.077 | 3.000 | -0.077 | 1.000 |
| predicted_AVG | 0.282 | 0.250 | 0.250 | Hitting_AVG | 0.275 | 0.333 | -0.025 | -0.083 |
| predicted_BB | 0.477 | 0.000 | 1.000 | Hitting_BB | 0.481 | 1.000 | -0.481 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_H | 1.180 | 1.000 | 1.000 | Hitting_H | 1.122 | 1.000 | -0.122 | 0.000 |
| predicted_HR | 0.310 | 0.000 | 0.000 | Hitting_HR | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_OBP | 0.433 | 0.250 | 0.400 | Hitting_OBP | 0.359 | 0.500 | -0.109 | -0.250 |
| predicted_R | 0.708 | 0.000 | 1.000 | Hitting_R | 0.777 | 0.000 | -0.777 | 0.000 |
| predicted_RBI | 0.910 | 0.000 | 1.000 | Hitting_RBI | 0.770 | 1.000 | -0.770 | -1.000 |
| predicted_SLG | 0.535 | 0.250 | 0.250 | Hitting_SLG | 0.494 | 0.333 | -0.244 | -0.083 |
| predicted_SO | 1.554 | 0.000 | 1.000 | Hitting_SO | 1.575 | 1.000 | -1.575 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.5540 -> 0.0000 (deboost -1.5540, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.4770 -> 0.6148 (boost 0.1378, better) | predicted_AB: 4.1700 -> 3.8924 (deboost -0.2776, worse) | Final model input calibrated with local 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.4234 -> 0.3763 (deboost -0.0471, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_BB: 0.6126 -> 1.0000 (boost 0.3874, better) | predicted_SO: 1.5138 -> 1.0000 (deboost -0.5138, better) | AB rounded to 4 (raw=4.17), rates preserved: AVG=0.260 HR/AB=0.068 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6430 -> 1.0000 (boost 0.3570, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5292 -> 0.5020 (deboost -0.0272, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_BB: 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.5020 -> 0.5292 (boost 0.0272, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665833",
"player_name": "Oneil Cruz",
"position": "CF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0,
"predicted_AB": 4.17,
"predicted_AVG": 0.282,
"predicted_BB": 0.477,
"predicted_H": 1.18,
"predicted_HR": 0.31,
"predicted_OBP": 0.433,
"predicted_R": 0.708,
"predicted_RBI": 0.91,
"predicted_SLG": 0.535,
"predicted_SO": 1.554
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.127,
"predicted_3B": 0.0004,
"predicted_AB": 3.8924,
"predicted_AVG": 0.2828,
"predicted_BB": 0.6148,
"predicted_H": 1.1027,
"predicted_HBP": 0.025,
"predicted_HR": 0.2876,
"predicted_OBP": 0.4234,
"predicted_R": 0.6645,
"predicted_RBI": 0.861,
"predicted_SLG": 0.5329,
"predicted_SO": 1.5084
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.127,
"delta": -0.027,
"percent_delta": -0.1753,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 3.8924,
"delta": -0.2776,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2828,
"delta": 0.0008,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.477,
"after": 0.6148,
"delta": 0.1378,
"percent_delta": 0.2889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.1027,
"delta": -0.0773,
"percent_delta": -0.0655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.2876,
"delta": -0.0224,
"percent_delta": -0.0723,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.433,
"after": 0.4234,
"delta": -0.0096,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.708,
"after": 0.6645,
"delta": -0.0435,
"percent_delta": -0.0614,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.91,
"after": 0.861,
"delta": -0.049,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.535,
"after": 0.5329,
"delta": -0.0021,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.554,
"after": 1.5084,
"delta": -0.0456,
"percent_delta": -0.0293,
"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.477,
"after": 0.6148,
"delta": 0.1378,
"percent_delta": 0.2889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.17,
"after": 3.8924,
"delta": -0.2776,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.127,
"predicted_3B": 0.0004,
"predicted_AB": 3.8924,
"predicted_AVG": 0.2782,
"predicted_BB": 0.6126,
"predicted_H": 1.0829,
"predicted_HBP": 0.025,
"predicted_HR": 0.2831,
"predicted_OBP": 0.3763,
"predicted_R": 0.643,
"predicted_RBI": 0.8331,
"predicted_SLG": 0.5292,
"predicted_SO": 1.5138
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.127,
"after": 0.127,
"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.8924,
"after": 3.8924,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2828,
"after": 0.2782,
"delta": -0.0046,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6148,
"after": 0.6126,
"delta": -0.0022,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1027,
"after": 1.0829,
"delta": -0.0198,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2876,
"after": 0.2831,
"delta": -0.0045,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4234,
"after": 0.3763,
"delta": -0.0471,
"percent_delta": -0.1112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6645,
"after": 0.643,
"delta": -0.0215,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.861,
"after": 0.8331,
"delta": -0.0279,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5329,
"after": 0.5292,
"delta": -0.0037,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5084,
"after": 1.5138,
"delta": 0.0054,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4234,
"after": 0.3763,
"delta": -0.0471,
"percent_delta": -0.1112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.17), rates preserved: AVG=0.260 HR/AB=0.068",
"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.127,
"after": 0.0,
"delta": -0.127,
"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.8924,
"after": 4.0,
"delta": 0.1076,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6126,
"after": 1.0,
"delta": 0.3874,
"percent_delta": 0.6324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0829,
"after": 1.0,
"delta": -0.0829,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2831,
"after": 0.0,
"delta": -0.2831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8331,
"after": 1.0,
"delta": 0.1669,
"percent_delta": 0.2003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5138,
"after": 1.0,
"delta": -0.5138,
"percent_delta": -0.3394,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6126,
"after": 1.0,
"delta": 0.3874,
"percent_delta": 0.6324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5138,
"after": 1.0,
"delta": -0.5138,
"percent_delta": -0.3394,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.643,
"after": 1.0,
"delta": 0.357,
"percent_delta": 0.5552,
"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.643,
"after": 1.0,
"delta": 0.357,
"percent_delta": 0.5552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": {},
"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.26,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.359,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.502,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2782,
"after": 0.26,
"delta": -0.0182,
"percent_delta": -0.0654,
"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.3763,
"after": 0.359,
"delta": -0.0173,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5292,
"after": 0.502,
"delta": -0.0272,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5292,
"after": 0.502,
"delta": -0.0272,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.2782,
"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.3763,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5292,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2782,
"delta": 0.0182,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3763,
"delta": 0.0173,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.502,
"after": 0.5292,
"delta": 0.0272,
"percent_delta": 0.0543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.502,
"after": 0.5292,
"delta": 0.0272,
"percent_delta": 0.0543,
"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.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 4.0,
"delta": -0.17,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2782,
"delta": -0.0038,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.477,
"after": 0.0,
"delta": -0.477,
"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.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.433,
"after": 0.3763,
"delta": -0.0567,
"percent_delta": -0.1309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.708,
"after": 0.0,
"delta": -0.708,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.535,
"after": 0.5292,
"delta": -0.0058,
"percent_delta": -0.0108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.554,
"after": 0.0,
"delta": -1.554,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.554,
"after": 0.0,
"delta": -1.554,
"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.154 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.170 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.477 | - |
| predicted_H | 1.180 | - |
| predicted_HR | 0.310 | - |
| predicted_OBP | 0.433 | - |
| predicted_R | 0.708 | - |
| predicted_RBI | 0.910 | - |
| predicted_SLG | 0.535 | - |
| predicted_SO | 1.554 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.127 | -0.027 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.892 | -0.278 |
| predicted_AVG | 0.283 | 0.001 |
| predicted_BB | 0.615 | 0.138 |
| predicted_H | 1.103 | -0.077 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.288 | -0.022 |
| predicted_OBP | 0.423 | -0.010 |
| predicted_R | 0.664 | -0.043 |
| predicted_RBI | 0.861 | -0.049 |
| predicted_SLG | 0.533 | -0.002 |
| predicted_SO | 1.508 | -0.046 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.127 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.892 | 0.000 |
| predicted_AVG | 0.278 | -0.005 |
| predicted_BB | 0.613 | -0.002 |
| predicted_H | 1.083 | -0.020 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.283 | -0.005 |
| predicted_OBP | 0.376 | -0.047 |
| predicted_R | 0.643 | -0.021 |
| predicted_RBI | 0.833 | -0.028 |
| predicted_SLG | 0.529 | -0.004 |
| predicted_SO | 1.514 | 0.005 |
AB rounded to 4 (raw=4.17), rates preserved: AVG=0.260 HR/AB=0.068
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.127 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.108 |
| predicted_AVG | 0.260 | -0.018 |
| predicted_BB | 1.000 | 0.387 |
| predicted_H | 1.000 | -0.083 |
| predicted_HR | 0.000 | -0.283 |
| predicted_OBP | 0.359 | -0.017 |
| predicted_R | 1.000 | 0.357 |
| predicted_RBI | 1.000 | 0.167 |
| predicted_SLG | 0.502 | -0.027 |
| predicted_SO | 1.000 | -0.514 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 6.000 | 7.000 | 0.3077 | 0.5263 | 0.5385 | 0.3077 | 0.0769 | 0.2308 | 0.4615 | 0.5385 |
| last_10 | 0.20 | 10 | - | 30.000 | 10.000 | 0.000 | 0.000 | 4.000 | 12.000 | 8.000 | 12.000 | 13.000 | 0.3333 | 0.5238 | 0.7333 | 0.3333 | 0.1333 | 0.4000 | 0.4000 | 0.4333 |
| season | 0.60 | 65 | - | 256.000 | 68.000 | 10.000 | 0.000 | 15.000 | 47.000 | 46.000 | 31.000 | 101.000 | 0.2656 | 0.3517 | 0.4805 | 0.2656 | 0.0586 | 0.1836 | 0.1211 | 0.3945 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0900 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5130 |
| predicted_AVG | 0.2838 |
| predicted_BB | 0.8030 |
| predicted_H | 0.9970 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.2570 |
| predicted_OBP | 0.4102 |
| predicted_R | 0.6050 |
| predicted_RBI | 0.7940 |
| predicted_SLG | 0.5300 |
| predicted_SO | 1.4460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.0900 | 0.1270 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1700 | 3.5130 | 3.8924 | model_form_blend |
| predicted_AVG | 0.2820 | 0.2838 | 0.2828 | model_form_blend |
| predicted_BB | 0.4770 | 0.8030 | 0.6148 | model_form_blend |
| predicted_H | 1.1800 | 0.9970 | 1.1027 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.3100 | 0.2570 | 0.2876 | model_form_blend |
| predicted_OBP | 0.4330 | 0.4102 | 0.4234 | model_form_blend |
| predicted_R | 0.7080 | 0.6050 | 0.6645 | model_form_blend |
| predicted_RBI | 0.9100 | 0.7940 | 0.8610 | model_form_blend |
| predicted_SLG | 0.5350 | 0.5300 | 0.5329 | model_form_blend |
| predicted_SO | 1.5540 | 1.4460 | 1.5084 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 287 |
| Season rows before report date | 287 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| 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 | CF |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 665833 |
| playerID | 665833 |
| playerName | Oneil Cruz |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 34.8 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.361 |
| sl_xwoba | 0.361 |
| sl_xba | 0.255 |
| sl_xslg | 0.496 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 17.0 |
| sl_hard_hit_percent | 58.7 |
| sl_exit_velocity_avg | 95.8 |
| sl_launch_angle_avg | 7.7 |
| sl_whiff_percent | 37.3 |
| sl_swing_percent | 43.6 |
| at_bat_number | 64.0 |
| ab_pitcher | 640448.0 |
| ab_pitcher_name | Finnegan, Kyle |
| ab_home_team | PIT |
| ab_away_team | DET |
| 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_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | walk |
| ab_event_description | Oneil Cruz walks. |
| ab_event_type | B |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.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 | 1.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 90.38 |
| ab_release_spin_rate_avg | 1481.8 |
| ab_effective_speed_avg | 91.36 |
| ab_delta_run_exp_avg | 0.0674 |
| ab_delta_home_win_exp_avg | 0.0072 |
| ab_delta_pitcher_run_exp_avg | -0.0674 |
| ab_release_speed_max | 95.5 |
| ab_release_spin_rate_max | 2147.0 |
| ab_release_speed_min | 86.4 |
| ab_release_spin_rate_min | 931.0 |
| ab_delta_run_exp_sum | 0.337 |
| ab_delta_home_win_exp_sum | 0.036 |
| ab_delta_pitcher_run_exp_sum | -0.337 |
| 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.158 | 1.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | 0.820 | 1.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.558 | 4.000 | 4.000 | Hitting_AB | 3.812 | 1.000 | 0.188 | 3.000 |
| predicted_AVG | 0.302 | 0.500 | 0.250 | Hitting_AVG | 0.310 | 0.000 | 0.190 | 0.500 |
| predicted_BB | 0.211 | 0.000 | 0.000 | Hitting_BB | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_H | 1.074 | 2.000 | 1.000 | Hitting_H | 1.182 | 0.000 | 0.818 | 2.000 |
| predicted_HR | 0.042 | 0.000 | 0.000 | Hitting_HR | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_OBP | 0.341 | 0.500 | 0.250 | Hitting_OBP | 0.361 | 0.000 | 0.139 | 0.500 |
| predicted_R | 0.495 | 1.000 | 0.000 | Hitting_R | 0.547 | 0.000 | 0.453 | 1.000 |
| predicted_RBI | 0.295 | 1.000 | 0.000 | Hitting_RBI | 0.297 | 0.000 | 0.703 | 1.000 |
| predicted_SLG | 0.393 | 0.750 | 0.250 | Hitting_SLG | 0.410 | 0.000 | 0.340 | 0.750 |
| predicted_SO | 0.726 | 0.000 | 1.000 | Hitting_SO | 0.771 | 1.000 | -0.771 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 1.0740 -> 2.0000 (boost 0.9260, better) |
| Biggest Deboost | predicted_SO: 0.7260 -> 0.0000 (deboost -0.7260, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3410 -> 0.3464 (boost 0.0054, better) | predicted_AB: 3.5580 -> 3.4699 (deboost -0.0881, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3464 -> 0.3372 (deboost -0.0092, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_AB: 3.4699 -> 4.0000 (boost 0.5301, better) | predicted_RBI: 0.2560 -> 0.0000 (deboost -0.2560, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.286 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5084 -> 1.0000 (boost 0.4916, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SLG: 0.3861 -> 0.3770 (deboost -0.0091, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.3770 -> 0.3861 (boost 0.0091, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "RF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.158,
"predicted_3B": 0.021,
"predicted_AB": 3.558,
"predicted_AVG": 0.302,
"predicted_BB": 0.211,
"predicted_H": 1.074,
"predicted_HR": 0.042,
"predicted_OBP": 0.341,
"predicted_R": 0.495,
"predicted_RBI": 0.295,
"predicted_SLG": 0.393,
"predicted_SO": 0.726
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1387,
"predicted_3B": 0.0253,
"predicted_AB": 3.4699,
"predicted_AVG": 0.2983,
"predicted_BB": 0.2324,
"predicted_H": 1.0351,
"predicted_HBP": 0.059,
"predicted_HR": 0.0454,
"predicted_OBP": 0.3464,
"predicted_R": 0.5254,
"predicted_RBI": 0.2646,
"predicted_SLG": 0.3917,
"predicted_SO": 0.6785
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.1387,
"delta": -0.0193,
"percent_delta": -0.1222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0253,
"delta": 0.0043,
"percent_delta": 0.2048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.558,
"after": 3.4699,
"delta": -0.0881,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.302,
"after": 0.2983,
"delta": -0.0037,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.2324,
"delta": 0.0214,
"percent_delta": 0.1014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.074,
"after": 1.0351,
"delta": -0.0389,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.042,
"after": 0.0454,
"delta": 0.0034,
"percent_delta": 0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3464,
"delta": 0.0054,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 0.5254,
"delta": 0.0304,
"percent_delta": 0.0614,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.295,
"after": 0.2646,
"delta": -0.0304,
"percent_delta": -0.1031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3917,
"delta": -0.0013,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.726,
"after": 0.6785,
"delta": -0.0475,
"percent_delta": -0.0654,
"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.341,
"after": 0.3464,
"delta": 0.0054,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.558,
"after": 3.4699,
"delta": -0.0881,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 95
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1387,
"predicted_3B": 0.0253,
"predicted_AB": 3.4699,
"predicted_AVG": 0.2929,
"predicted_BB": 0.2316,
"predicted_H": 1.0165,
"predicted_HBP": 0.059,
"predicted_HR": 0.0447,
"predicted_OBP": 0.3372,
"predicted_R": 0.5084,
"predicted_RBI": 0.256,
"predicted_SLG": 0.3861,
"predicted_SO": 0.6809
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1387,
"after": 0.1387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0253,
"after": 0.0253,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4699,
"after": 3.4699,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2983,
"after": 0.2929,
"delta": -0.0054,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2324,
"after": 0.2316,
"delta": -0.0008,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0351,
"after": 1.0165,
"delta": -0.0186,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.059,
"after": 0.059,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0454,
"after": 0.0447,
"delta": -0.0007,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3464,
"after": 0.3372,
"delta": -0.0092,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5254,
"after": 0.5084,
"delta": -0.017,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2646,
"after": 0.256,
"delta": -0.0086,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3917,
"after": 0.3861,
"delta": -0.0056,
"percent_delta": -0.0143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6785,
"after": 0.6809,
"delta": 0.0024,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3464,
"after": 0.3372,
"delta": -0.0092,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.286 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1387,
"after": 0.0,
"delta": -0.1387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0253,
"after": 0.0,
"delta": -0.0253,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4699,
"after": 4.0,
"delta": 0.5301,
"percent_delta": 0.1528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2316,
"after": 0.0,
"delta": -0.2316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0165,
"after": 1.0,
"delta": -0.0165,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0447,
"after": 0.0,
"delta": -0.0447,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.256,
"after": 0.0,
"delta": -0.256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6809,
"after": 1.0,
"delta": 0.3191,
"percent_delta": 0.4686,
"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.4699,
"after": 4.0,
"delta": 0.5301,
"percent_delta": 0.1528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.256,
"after": 0.0,
"delta": -0.256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5084,
"after": 1.0,
"delta": 0.4916,
"percent_delta": 0.967,
"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.5084,
"after": 1.0,
"delta": 0.4916,
"percent_delta": 0.967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.286,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.335,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.377,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2929,
"after": 0.286,
"delta": -0.0069,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3372,
"after": 0.335,
"delta": -0.0022,
"percent_delta": -0.0065,
"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_SLG",
"before": 0.3861,
"after": 0.377,
"delta": -0.0091,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3861,
"after": 0.377,
"delta": -0.0091,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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": 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.2929,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3372,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3861,
"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.286,
"after": 0.2929,
"delta": 0.0069,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.335,
"after": 0.3372,
"delta": 0.0022,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3861,
"delta": 0.0091,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.377,
"after": 0.3861,
"delta": 0.0091,
"percent_delta": 0.0242,
"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.158,
"after": 1.0,
"delta": 0.842,
"percent_delta": 5.3291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.558,
"after": 4.0,
"delta": 0.442,
"percent_delta": 0.1242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.302,
"after": 0.2929,
"delta": -0.0091,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.074,
"after": 2.0,
"delta": 0.926,
"percent_delta": 0.8622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3372,
"delta": -0.0038,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.495,
"after": 1.0,
"delta": 0.505,
"percent_delta": 1.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.295,
"after": 1.0,
"delta": 0.705,
"percent_delta": 2.3898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3861,
"delta": -0.0069,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.726,
"after": 0.0,
"delta": -0.726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.074,
"after": 2.0,
"delta": 0.926,
"percent_delta": 0.8622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.726,
"after": 0.0,
"delta": -0.726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.158 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.558 | - |
| predicted_AVG | 0.302 | - |
| predicted_BB | 0.211 | - |
| predicted_H | 1.074 | - |
| predicted_HR | 0.042 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.495 | - |
| predicted_RBI | 0.295 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 0.726 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | -0.019 |
| predicted_3B | 0.025 | 0.004 |
| predicted_AB | 3.470 | -0.088 |
| predicted_AVG | 0.298 | -0.004 |
| predicted_BB | 0.232 | 0.021 |
| predicted_H | 1.035 | -0.039 |
| predicted_HBP | 0.059 | - |
| predicted_HR | 0.045 | 0.003 |
| predicted_OBP | 0.346 | 0.005 |
| predicted_R | 0.525 | 0.030 |
| predicted_RBI | 0.265 | -0.030 |
| predicted_SLG | 0.392 | -0.001 |
| predicted_SO | 0.678 | -0.047 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 3.470 | 0.000 |
| predicted_AVG | 0.293 | -0.005 |
| predicted_BB | 0.232 | -0.001 |
| predicted_H | 1.016 | -0.019 |
| predicted_HBP | 0.059 | 0.000 |
| predicted_HR | 0.045 | -0.001 |
| predicted_OBP | 0.337 | -0.009 |
| predicted_R | 0.508 | -0.017 |
| predicted_RBI | 0.256 | -0.009 |
| predicted_SLG | 0.386 | -0.006 |
| predicted_SO | 0.681 | 0.002 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.286 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.139 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 4.000 | 0.530 |
| predicted_AVG | 0.286 | -0.007 |
| predicted_BB | 0.000 | -0.232 |
| predicted_H | 1.000 | -0.016 |
| predicted_HR | 0.000 | -0.045 |
| predicted_OBP | 0.335 | -0.002 |
| predicted_R | 1.000 | 0.492 |
| predicted_RBI | 0.000 | -0.256 |
| predicted_SLG | 0.377 | -0.009 |
| predicted_SO | 1.000 | 0.319 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 1.000 | 0.3077 | 0.4000 | 0.3077 | 0.3077 | 0.0000 | 0.0000 | 0.1538 | 0.0769 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 1.000 | 1.000 | 1.000 | 2.000 | 7.000 | 2.000 | 7.000 | 0.2727 | 0.3333 | 0.4545 | 0.2727 | 0.0303 | 0.0606 | 0.0606 | 0.2121 |
| season | 0.60 | 95 | - | 338.000 | 102.000 | 15.000 | 2.000 | 4.000 | 28.000 | 47.000 | 20.000 | 69.000 | 0.3018 | 0.3515 | 0.3935 | 0.3018 | 0.0118 | 0.0828 | 0.0592 | 0.2041 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0310 |
| predicted_AB | 3.3520 |
| predicted_AVG | 0.2934 |
| predicted_BB | 0.2610 |
| predicted_H | 0.9830 |
| predicted_HBP | 0.0590 |
| predicted_HR | 0.0500 |
| predicted_OBP | 0.3536 |
| predicted_R | 0.5660 |
| predicted_RBI | 0.2240 |
| predicted_SLG | 0.3900 |
| predicted_SO | 0.6150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1580 | 0.1130 | 0.1387 | model_form_blend |
| predicted_3B | 0.0210 | 0.0310 | 0.0253 | model_form_blend |
| predicted_AB | 3.5580 | 3.3520 | 3.4699 | model_form_blend |
| predicted_AVG | 0.3020 | 0.2934 | 0.2983 | model_form_blend |
| predicted_BB | 0.2110 | 0.2610 | 0.2324 | model_form_blend |
| predicted_H | 1.0740 | 0.9830 | 1.0351 | model_form_blend |
| predicted_HBP | - | 0.0590 | 0.0590 | form_only |
| predicted_HR | 0.0420 | 0.0500 | 0.0454 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3536 | 0.3464 | model_form_blend |
| predicted_R | 0.4950 | 0.5660 | 0.5254 | model_form_blend |
| predicted_RBI | 0.2950 | 0.2240 | 0.2646 | model_form_blend |
| predicted_SLG | 0.3930 | 0.3900 | 0.3917 | model_form_blend |
| predicted_SO | 0.7260 | 0.6150 | 0.6785 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 384 |
| Season rows before report date | 384 |
| Report year | 2026 |
| Profile rows used | 95 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260819_DET@PIT |
| game_type | ph |
| mlbID | 663968 |
| note | Struck out for Triolo in the 9th. |
| playerID | 663968 |
| playerName | Jake Mangum |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.328 |
| sl_xwoba | 0.29 |
| sl_xba | 0.254 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 27.8 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 4.4 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 58.4 |
| at_bat_number | 72.0 |
| ab_pitcher | 445276.0 |
| ab_pitcher_name | Jansen, Kenley |
| ab_home_team | PIT |
| ab_away_team | DET |
| ab_game_type | R |
| ab_stand | L |
| 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 | 2.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Jake Mangum strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 81.1 |
| ab_launch_angle_last | 6.0 |
| ab_hit_distance_last | 99.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 | 2.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 93.44 |
| ab_release_spin_rate_avg | 2688.0 |
| ab_effective_speed_avg | 94.56 |
| ab_launch_speed_avg | 76.5 |
| ab_launch_angle_avg | 32.0 |
| ab_delta_run_exp_avg | -0.052 |
| ab_delta_home_win_exp_avg | -0.0178 |
| ab_delta_pitcher_run_exp_avg | 0.052 |
| ab_bat_speed_avg | 66.2 |
| ab_swing_length_avg | 6.1 |
| ab_launch_speed_max | 81.1 |
| ab_hit_distance_sc_max | 230.0 |
| ab_release_speed_max | 95.2 |
| ab_release_spin_rate_max | 2786.0 |
| ab_release_speed_min | 90.5 |
| ab_release_spin_rate_min | 2568.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.089 |
| 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.214 | 0.000 | 0.000 | Hitting_2B | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 4.690 | 4.000 | 5.000 | Hitting_AB | 4.053 | 3.000 | -0.053 | 1.000 |
| predicted_AVG | 0.272 | 0.000 | 0.200 | Hitting_AVG | 0.252 | 0.333 | -0.252 | -0.333 |
| predicted_BB | 0.393 | 0.000 | 0.000 | Hitting_BB | 0.424 | 2.000 | -0.424 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.280 | 0.000 | 1.000 | Hitting_H | 1.021 | 1.000 | -1.021 | -1.000 |
| predicted_HR | 0.320 | 0.000 | 0.000 | Hitting_HR | 0.239 | 1.000 | -0.239 | -1.000 |
| predicted_OBP | 0.322 | 0.000 | 0.200 | Hitting_OBP | 0.320 | 0.600 | -0.320 | -0.600 |
| predicted_R | 0.632 | 0.000 | 1.000 | Hitting_R | 0.682 | 2.000 | -0.682 | -2.000 |
| predicted_RBI | 0.740 | 0.000 | 1.000 | Hitting_RBI | 0.744 | 1.000 | -0.744 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_SLG | 0.461 | 0.000 | 0.200 | Hitting_SLG | 0.487 | 1.333 | -0.487 | -1.333 |
| predicted_SO | 1.274 | 2.000 | 1.000 | Hitting_SO | 1.307 | 1.000 | 0.693 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.2740 -> 2.0000 (boost 0.7260, worse) |
| Biggest Deboost | predicted_H: 1.2800 -> 0.0000 (deboost -1.2800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.6900 -> 4.3424 (deboost -0.3476, worse) | Final model input calibrated with local 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.4610 -> 0.4936 (boost 0.0326, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.3424 -> 5.0000 (boost 0.6576, better) | predicted_BB: 0.3812 -> 0.0000 (deboost -0.3812, worse) | AB rounded to 5 (raw=4.69), rates preserved: AVG=0.244 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5871 -> 1.0000 (boost 0.4129, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4936 -> 0.4570 (deboost -0.0366, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 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.4570 -> 0.4936 (boost 0.0366, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "2B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.214,
"predicted_3B": 0.009,
"predicted_AB": 4.69,
"predicted_AVG": 0.272,
"predicted_BB": 0.393,
"predicted_H": 1.28,
"predicted_HR": 0.32,
"predicted_OBP": 0.322,
"predicted_R": 0.632,
"predicted_RBI": 0.74,
"predicted_SLG": 0.461,
"predicted_SO": 1.274
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1771,
"predicted_3B": 0.0077,
"predicted_AB": 4.3424,
"predicted_AVG": 0.2668,
"predicted_BB": 0.3826,
"predicted_H": 1.1637,
"predicted_HBP": 0.011,
"predicted_HR": 0.2736,
"predicted_OBP": 0.3227,
"predicted_R": 0.6068,
"predicted_RBI": 0.6966,
"predicted_SLG": 0.461,
"predicted_SO": 1.2597
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.1771,
"delta": -0.0369,
"percent_delta": -0.1724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0077,
"delta": -0.0013,
"percent_delta": -0.1444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.69,
"after": 4.3424,
"delta": -0.3476,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2668,
"delta": -0.0052,
"percent_delta": -0.0191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.3826,
"delta": -0.0104,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.28,
"after": 1.1637,
"delta": -0.1163,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.2736,
"delta": -0.0464,
"percent_delta": -0.145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3227,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.632,
"after": 0.6068,
"delta": -0.0252,
"percent_delta": -0.0399,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.6966,
"delta": -0.0434,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.461,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.274,
"after": 1.2597,
"delta": -0.0143,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.69,
"after": 4.3424,
"delta": -0.3476,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 117
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1771,
"predicted_3B": 0.0077,
"predicted_AB": 4.3424,
"predicted_AVG": 0.2632,
"predicted_BB": 0.3812,
"predicted_H": 1.1428,
"predicted_HBP": 0.011,
"predicted_HR": 0.2693,
"predicted_OBP": 0.3226,
"predicted_R": 0.5871,
"predicted_RBI": 0.674,
"predicted_SLG": 0.4936,
"predicted_SO": 1.2642
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1771,
"after": 0.1771,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3424,
"after": 4.3424,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2668,
"after": 0.2632,
"delta": -0.0036,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3826,
"after": 0.3812,
"delta": -0.0014,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1637,
"after": 1.1428,
"delta": -0.0209,
"percent_delta": -0.018,
"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.2736,
"after": 0.2693,
"delta": -0.0043,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.3226,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6068,
"after": 0.5871,
"delta": -0.0197,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6966,
"after": 0.674,
"delta": -0.0226,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4936,
"delta": 0.0326,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2597,
"after": 1.2642,
"delta": 0.0045,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4936,
"delta": 0.0326,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.69), rates preserved: AVG=0.244 HR/AB=0.057",
"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.1771,
"after": 0.0,
"delta": -0.1771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0,
"delta": -0.0077,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3424,
"after": 5.0,
"delta": 0.6576,
"percent_delta": 0.1514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3812,
"after": 0.0,
"delta": -0.3812,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1428,
"after": 1.0,
"delta": -0.1428,
"percent_delta": -0.125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2693,
"after": 0.0,
"delta": -0.2693,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.674,
"after": 1.0,
"delta": 0.326,
"percent_delta": 0.4837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2642,
"after": 1.0,
"delta": -0.2642,
"percent_delta": -0.209,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3424,
"after": 5.0,
"delta": 0.6576,
"percent_delta": 0.1514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3812,
"after": 0.0,
"delta": -0.3812,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5871,
"after": 1.0,
"delta": 0.4129,
"percent_delta": 0.7033,
"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.5871,
"after": 1.0,
"delta": 0.4129,
"percent_delta": 0.7033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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": 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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": {},
"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.244,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.306,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.457,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2632,
"after": 0.244,
"delta": -0.0192,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3226,
"after": 0.306,
"delta": -0.0166,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4936,
"after": 0.457,
"delta": -0.0366,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4936,
"after": 0.457,
"delta": -0.0366,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 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.2632,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3226,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4936,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2632,
"delta": 0.0192,
"percent_delta": 0.0785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3226,
"delta": 0.0166,
"percent_delta": 0.0543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.4936,
"delta": 0.0366,
"percent_delta": 0.08,
"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.457,
"after": 0.4936,
"delta": 0.0366,
"percent_delta": 0.08,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.0,
"delta": -0.214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.69,
"after": 4.0,
"delta": -0.69,
"percent_delta": -0.1471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2632,
"delta": -0.0088,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.0,
"delta": -0.393,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.28,
"after": 0.0,
"delta": -1.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3226,
"delta": 0.0006,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.632,
"after": 0.0,
"delta": -0.632,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4936,
"delta": 0.0326,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.274,
"after": 2.0,
"delta": 0.726,
"percent_delta": 0.5699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.274,
"after": 2.0,
"delta": 0.726,
"percent_delta": 0.5699,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.28,
"after": 0.0,
"delta": -1.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 4.690 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.393 | - |
| predicted_H | 1.280 | - |
| predicted_HR | 0.320 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.632 | - |
| predicted_RBI | 0.740 | - |
| predicted_SLG | 0.461 | - |
| predicted_SO | 1.274 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.037 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 4.342 | -0.348 |
| predicted_AVG | 0.267 | -0.005 |
| predicted_BB | 0.383 | -0.010 |
| predicted_H | 1.164 | -0.116 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.274 | -0.046 |
| predicted_OBP | 0.323 | 0.001 |
| predicted_R | 0.607 | -0.025 |
| predicted_RBI | 0.697 | -0.043 |
| predicted_SLG | 0.461 | 0.000 |
| predicted_SO | 1.260 | -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.177 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 4.342 | 0.000 |
| predicted_AVG | 0.263 | -0.004 |
| predicted_BB | 0.381 | -0.001 |
| predicted_H | 1.143 | -0.021 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.269 | -0.004 |
| predicted_OBP | 0.323 | -0.000 |
| predicted_R | 0.587 | -0.020 |
| predicted_RBI | 0.674 | -0.023 |
| predicted_SLG | 0.494 | 0.033 |
| predicted_SO | 1.264 | 0.004 |
AB rounded to 5 (raw=4.69), rates preserved: AVG=0.244 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.008 |
| predicted_AB | 5.000 | 0.658 |
| predicted_AVG | 0.244 | -0.019 |
| predicted_BB | 0.000 | -0.381 |
| predicted_H | 1.000 | -0.143 |
| predicted_HR | 0.000 | -0.269 |
| predicted_OBP | 0.306 | -0.017 |
| predicted_R | 1.000 | 0.413 |
| predicted_RBI | 1.000 | 0.326 |
| predicted_SLG | 0.457 | -0.037 |
| predicted_SO | 1.000 | -0.264 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 5.000 | 0.3158 | 0.3810 | 0.4737 | 0.3158 | 0.0526 | 0.1579 | 0.1053 | 0.2632 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 0.000 | 0.000 | 2.000 | 6.000 | 4.000 | 3.000 | 15.000 | 0.2368 | 0.2927 | 0.3947 | 0.2368 | 0.0526 | 0.1579 | 0.0790 | 0.3947 |
| season | 0.60 | 117 | - | 463.000 | 116.000 | 25.000 | 1.000 | 27.000 | 80.000 | 74.000 | 46.000 | 149.000 | 0.2505 | 0.3166 | 0.4838 | 0.2505 | 0.0583 | 0.1728 | 0.0993 | 0.3218 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.8890 |
| predicted_AVG | 0.2601 |
| predicted_BB | 0.3690 |
| predicted_H | 1.0120 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2130 |
| predicted_OBP | 0.3236 |
| predicted_R | 0.5740 |
| predicted_RBI | 0.6400 |
| predicted_SLG | 0.4609 |
| predicted_SO | 1.2410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.1290 | 0.1771 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 4.6900 | 3.8890 | 4.3424 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2601 | 0.2668 | model_form_blend |
| predicted_BB | 0.3930 | 0.3690 | 0.3826 | model_form_blend |
| predicted_H | 1.2800 | 1.0120 | 1.1637 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.3200 | 0.2130 | 0.2736 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3236 | 0.3227 | model_form_blend |
| predicted_R | 0.6320 | 0.5740 | 0.6068 | model_form_blend |
| predicted_RBI | 0.7400 | 0.6400 | 0.6966 | model_form_blend |
| predicted_SLG | 0.4610 | 0.4609 | 0.4610 | model_form_blend |
| predicted_SO | 1.2740 | 1.2410 | 1.2597 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 528 |
| Season rows before report date | 528 |
| Report year | 2026 |
| Profile rows used | 117 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 664040 |
| playerID | 664040 |
| playerName | Brandon Lowe |
| pos | 2B |
| started | True |
| startingPosition | DH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.344 |
| sl_xwoba | 0.327 |
| sl_xba | 0.241 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 46.8 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 34.9 |
| sl_swing_percent | 50.0 |
| at_bat_number | 75.0 |
| ab_pitcher | 445276.0 |
| ab_pitcher_name | Jansen, Kenley |
| ab_home_team | PIT |
| ab_away_team | DET |
| ab_game_type | R |
| ab_stand | L |
| 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 | 3.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 3.0 |
| ab_event | home_run |
| ab_event_description | Brandon Lowe homers (27) on a fly ball to right field. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 105.6 |
| ab_launch_angle_last | 45.0 |
| ab_hit_distance_last | 359.0 |
| ab_estimated_ba_last | 0.157 |
| ab_estimated_woba_last | 0.31 |
| ab_estimated_slg_last | 0.601 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 91.975 |
| ab_release_spin_rate_avg | 2499.75 |
| ab_effective_speed_avg | 93.2 |
| ab_launch_speed_avg | 93.8 |
| ab_launch_angle_avg | 3.5 |
| ab_delta_run_exp_avg | 0.6487499999999999 |
| ab_delta_home_win_exp_avg | 0.1159999999999999 |
| ab_delta_pitcher_run_exp_avg | -0.6487499999999999 |
| ab_bat_speed_avg | 74.75 |
| ab_swing_length_avg | 7.5 |
| ab_launch_speed_max | 105.6 |
| ab_hit_distance_sc_max | 359.0 |
| ab_release_speed_max | 94.7 |
| ab_release_spin_rate_max | 2679.0 |
| ab_release_speed_min | 85.4 |
| ab_release_spin_rate_min | 2309.0 |
| ab_delta_run_exp_sum | 2.595 |
| ab_delta_home_win_exp_sum | 0.4639999999999999 |
| ab_delta_pitcher_run_exp_sum | -2.595 |
| 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.145 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.060 | 3.000 | 3.000 | Hitting_AB | 3.252 | 3.000 | -0.252 | 0.000 |
| predicted_AVG | 0.240 | 0.333 | 0.333 | Hitting_AVG | 0.239 | 0.000 | 0.094 | 0.333 |
| predicted_BB | 0.289 | 1.000 | 0.000 | Hitting_BB | 0.329 | 0.000 | 0.671 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.735 | 1.000 | 1.000 | Hitting_H | 0.779 | 0.000 | 0.221 | 1.000 |
| predicted_HR | 0.024 | 0.000 | 0.000 | Hitting_HR | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_OBP | 0.306 | 0.500 | 0.333 | Hitting_OBP | 0.319 | 0.000 | 0.181 | 0.500 |
| predicted_R | 0.337 | 1.000 | 0.000 | Hitting_R | 0.369 | 0.000 | 0.631 | 1.000 |
| predicted_RBI | 0.277 | 0.000 | 0.000 | Hitting_RBI | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_SLG | 0.311 | 0.333 | 0.333 | Hitting_SLG | 0.313 | 0.000 | 0.021 | 0.333 |
| predicted_SO | 0.687 | 0.000 | 1.000 | Hitting_SO | 0.691 | 0.000 | -0.691 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.2890 -> 1.0000 (boost 0.7110, better) |
| Biggest Deboost | predicted_SO: 0.6870 -> 0.0000 (deboost -0.6870, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 2 | 3 | predicted_AB: 3.0600 -> 3.1191 (boost 0.0591, better) | predicted_SO: 0.6870 -> 0.6284 (deboost -0.0586, 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.2913 -> 0.2853 (deboost -0.0060, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6307 -> 1.0000 (boost 0.3693, worse) | predicted_RBI: 0.2656 -> 0.0000 (deboost -0.2656, worse) | AB rounded to 3 (raw=3.12), rates preserved: AVG=0.226 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3489 -> 0.0000 (deboost -0.3489, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2963 -> 0.3040 (boost 0.0077, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3040 -> 0.2963 (deboost -0.0077, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669707",
"player_name": "Jared Triolo",
"position": "3B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.0,
"predicted_AB": 3.06,
"predicted_AVG": 0.24,
"predicted_BB": 0.289,
"predicted_H": 0.735,
"predicted_HR": 0.024,
"predicted_OBP": 0.306,
"predicted_R": 0.337,
"predicted_RBI": 0.277,
"predicted_SLG": 0.311,
"predicted_SO": 0.687
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1248,
"predicted_3B": 0.0004,
"predicted_AB": 3.1191,
"predicted_AVG": 0.23,
"predicted_BB": 0.2612,
"predicted_H": 0.7169,
"predicted_HBP": 0.03,
"predicted_HR": 0.032,
"predicted_OBP": 0.2913,
"predicted_R": 0.3606,
"predicted_RBI": 0.2745,
"predicted_SLG": 0.3011,
"predicted_SO": 0.6284
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1248,
"delta": -0.0202,
"percent_delta": -0.1393,
"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.06,
"after": 3.1191,
"delta": 0.0591,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.23,
"delta": -0.01,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.2612,
"delta": -0.0278,
"percent_delta": -0.0962,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.735,
"after": 0.7169,
"delta": -0.0181,
"percent_delta": -0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.024,
"after": 0.032,
"delta": 0.008,
"percent_delta": 0.3333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2913,
"delta": -0.0147,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.337,
"after": 0.3606,
"delta": 0.0236,
"percent_delta": 0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.277,
"after": 0.2745,
"delta": -0.0025,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.311,
"after": 0.3011,
"delta": -0.0099,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.687,
"after": 0.6284,
"delta": -0.0586,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.06,
"after": 3.1191,
"delta": 0.0591,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.687,
"after": 0.6284,
"delta": -0.0586,
"percent_delta": -0.0853,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1248,
"predicted_3B": 0.0004,
"predicted_AB": 3.1191,
"predicted_AVG": 0.2257,
"predicted_BB": 0.2603,
"predicted_H": 0.704,
"predicted_HBP": 0.03,
"predicted_HR": 0.0315,
"predicted_OBP": 0.2853,
"predicted_R": 0.3489,
"predicted_RBI": 0.2656,
"predicted_SLG": 0.2963,
"predicted_SO": 0.6307
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1248,
"after": 0.1248,
"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.1191,
"after": 3.1191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2257,
"delta": -0.0043,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2612,
"after": 0.2603,
"delta": -0.0009,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7169,
"after": 0.704,
"delta": -0.0129,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.03,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.032,
"after": 0.0315,
"delta": -0.0005,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2913,
"after": 0.2853,
"delta": -0.006,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3606,
"after": 0.3489,
"delta": -0.0117,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2745,
"after": 0.2656,
"delta": -0.0089,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3011,
"after": 0.2963,
"delta": -0.0048,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6284,
"after": 0.6307,
"delta": 0.0023,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2913,
"after": 0.2853,
"delta": -0.006,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.12), rates preserved: AVG=0.226 HR/AB=0.010",
"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.1248,
"after": 0.0,
"delta": -0.1248,
"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.1191,
"after": 3.0,
"delta": -0.1191,
"percent_delta": -0.0382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2603,
"after": 0.0,
"delta": -0.2603,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.704,
"after": 1.0,
"delta": 0.296,
"percent_delta": 0.4205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0315,
"after": 0.0,
"delta": -0.0315,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2656,
"after": 0.0,
"delta": -0.2656,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6307,
"after": 1.0,
"delta": 0.3693,
"percent_delta": 0.5855,
"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.6307,
"after": 1.0,
"delta": 0.3693,
"percent_delta": 0.5855,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2656,
"after": 0.0,
"delta": -0.2656,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3489,
"after": 0.0,
"delta": -0.3489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3489,
"after": 0.0,
"delta": -0.3489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.226,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.291,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.304,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2257,
"after": 0.226,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2853,
"after": 0.291,
"delta": 0.0057,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2963,
"after": 0.304,
"delta": 0.0077,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2963,
"after": 0.304,
"delta": 0.0077,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2257,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2853,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2963,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2257,
"delta": -0.0003,
"percent_delta": -0.0013,
"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.291,
"after": 0.2853,
"delta": -0.0057,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.304,
"after": 0.2963,
"delta": -0.0077,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.304,
"after": 0.2963,
"delta": -0.0077,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.06,
"after": 3.0,
"delta": -0.06,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2257,
"delta": -0.0143,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 1.0,
"delta": 0.711,
"percent_delta": 2.4602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.735,
"after": 1.0,
"delta": 0.265,
"percent_delta": 0.3605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.2853,
"delta": -0.0207,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.337,
"after": 1.0,
"delta": 0.663,
"percent_delta": 1.9674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.277,
"after": 0.0,
"delta": -0.277,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.311,
"after": 0.2963,
"delta": -0.0147,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.687,
"after": 0.0,
"delta": -0.687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.289,
"after": 1.0,
"delta": 0.711,
"percent_delta": 2.4602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.687,
"after": 0.0,
"delta": -0.687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.060 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.289 | - |
| predicted_H | 0.735 | - |
| predicted_HR | 0.024 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.337 | - |
| predicted_RBI | 0.277 | - |
| predicted_SLG | 0.311 | - |
| predicted_SO | 0.687 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | -0.020 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.119 | 0.059 |
| predicted_AVG | 0.230 | -0.010 |
| predicted_BB | 0.261 | -0.028 |
| predicted_H | 0.717 | -0.018 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.032 | 0.008 |
| predicted_OBP | 0.291 | -0.015 |
| predicted_R | 0.361 | 0.024 |
| predicted_RBI | 0.275 | -0.003 |
| predicted_SLG | 0.301 | -0.010 |
| predicted_SO | 0.628 | -0.059 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.119 | 0.000 |
| predicted_AVG | 0.226 | -0.004 |
| predicted_BB | 0.260 | -0.001 |
| predicted_H | 0.704 | -0.013 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.032 | -0.001 |
| predicted_OBP | 0.285 | -0.006 |
| predicted_R | 0.349 | -0.012 |
| predicted_RBI | 0.266 | -0.009 |
| predicted_SLG | 0.296 | -0.005 |
| predicted_SO | 0.631 | 0.002 |
AB rounded to 3 (raw=3.12), rates preserved: AVG=0.226 HR/AB=0.010
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.125 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.119 |
| predicted_AVG | 0.226 | 0.000 |
| predicted_BB | 0.000 | -0.260 |
| predicted_H | 1.000 | 0.296 |
| predicted_HR | 0.000 | -0.032 |
| predicted_OBP | 0.291 | 0.006 |
| predicted_R | 0.000 | -0.349 |
| predicted_RBI | 0.000 | -0.266 |
| predicted_SLG | 0.304 | 0.008 |
| 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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 0.1176 | 0.1176 | 0.1176 | 0.1177 | 0.0000 | 0.0000 | 0.0000 | 0.0588 |
| last_10 | 0.20 | 10 | - | 31.000 | 7.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 2.000 | 3.000 | 0.2258 | 0.2727 | 0.3226 | 0.2258 | 0.0323 | 0.1290 | 0.0645 | 0.0968 |
| season | 0.60 | 83 | - | 254.000 | 61.000 | 12.000 | 0.000 | 2.000 | 23.000 | 28.000 | 24.000 | 57.000 | 0.2402 | 0.3156 | 0.3110 | 0.2402 | 0.0079 | 0.0906 | 0.0945 | 0.2244 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0970 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2000 |
| predicted_AVG | 0.2162 |
| predicted_BB | 0.2230 |
| predicted_H | 0.6920 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.0430 |
| predicted_OBP | 0.2711 |
| predicted_R | 0.3930 |
| predicted_RBI | 0.2710 |
| predicted_SLG | 0.2875 |
| predicted_SO | 0.5480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.0970 | 0.1248 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.0600 | 3.2000 | 3.1191 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2162 | 0.2300 | model_form_blend |
| predicted_BB | 0.2890 | 0.2230 | 0.2612 | model_form_blend |
| predicted_H | 0.7350 | 0.6920 | 0.7169 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.0240 | 0.0430 | 0.0320 | model_form_blend |
| predicted_OBP | 0.3060 | 0.2711 | 0.2913 | model_form_blend |
| predicted_R | 0.3370 | 0.3930 | 0.3606 | model_form_blend |
| predicted_RBI | 0.2770 | 0.2710 | 0.2745 | model_form_blend |
| predicted_SLG | 0.3110 | 0.2875 | 0.3011 | model_form_blend |
| predicted_SO | 0.6870 | 0.5480 | 0.6284 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 298 |
| Season rows before report date | 298 |
| Report year | 2026 |
| Profile rows used | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B-SS |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 669707 |
| playerID | 669707 |
| playerName | Jared Triolo |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.283 |
| sl_xwoba | 0.29 |
| sl_xba | 0.245 |
| sl_xslg | 0.32 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 4.3 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 44.8 |
| at_bat_number | 55.0 |
| ab_pitcher | 621097.0 |
| ab_pitcher_name | Waguespack, Jacob |
| ab_home_team | PIT |
| ab_away_team | DET |
| 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 | 1.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Jared Triolo lines out to third baseman Hao-Yu Lee. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 5.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 106.8 |
| ab_launch_angle_last | 7.0 |
| ab_hit_distance_last | 133.0 |
| ab_estimated_ba_last | 0.626 |
| ab_estimated_woba_last | 0.585 |
| ab_estimated_slg_last | 0.716 |
| 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 | 1.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 87.2 |
| ab_release_spin_rate_avg | 1916.8333333333333 |
| ab_effective_speed_avg | 88.66666666666667 |
| ab_launch_speed_avg | 93.9 |
| ab_launch_angle_avg | 31.0 |
| ab_delta_run_exp_avg | -0.0433333333333333 |
| ab_delta_home_win_exp_avg | -0.0066666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0433333333333333 |
| ab_bat_speed_avg | 68.46666666666667 |
| ab_swing_length_avg | 7.433333333333334 |
| ab_launch_speed_max | 106.8 |
| ab_hit_distance_sc_max | 229.0 |
| ab_release_speed_max | 92.1 |
| ab_release_spin_rate_max | 2116.0 |
| ab_release_speed_min | 83.9 |
| ab_release_spin_rate_min | 1675.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | -0.04 |
| 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.138 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.970 | 5.000 | 4.000 | Hitting_AB | 3.632 | 5.000 | 1.368 | 0.000 |
| predicted_AVG | 0.217 | 0.000 | 0.250 | Hitting_AVG | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_BB | 0.506 | 0.000 | 1.000 | Hitting_BB | 0.586 | 0.000 | -0.586 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.860 | 0.000 | 1.000 | Hitting_H | 0.948 | 0.000 | -0.948 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.310 | 0.000 | 0.400 | Hitting_OBP | 0.372 | 0.000 | -0.372 | 0.000 |
| predicted_R | 0.425 | 0.000 | 0.000 | Hitting_R | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.475 | 0.000 | -0.475 | 0.000 |
| predicted_SLG | 0.328 | 0.000 | 0.250 | Hitting_SLG | 0.409 | 0.000 | -0.409 | 0.000 |
| predicted_SO | 0.563 | 2.000 | 1.000 | Hitting_SO | 0.600 | 0.000 | 1.400 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.5630 -> 2.0000 (boost 1.4370, worse) |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 3.9700 -> 3.8036 (deboost -0.1664, worse) | Final model input calibrated with local 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.3116 -> 0.2981 (deboost -0.0135, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.5654 -> 1.0000 (boost 0.4346, worse) | predicted_BB: 0.4689 -> 0.0000 (deboost -0.4689, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.203 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3621 -> 0.0000 (deboost -0.3621, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3050 -> 0.3180 (boost 0.0130, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687462",
"player_name": "Spencer Horwitz",
"position": "1B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.011,
"predicted_AB": 3.97,
"predicted_AVG": 0.217,
"predicted_BB": 0.506,
"predicted_H": 0.86,
"predicted_HR": 0.1,
"predicted_OBP": 0.31,
"predicted_R": 0.425,
"predicted_RBI": 0.41,
"predicted_SLG": 0.328,
"predicted_SO": 0.563
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1192,
"predicted_3B": 0.0097,
"predicted_AB": 3.8036,
"predicted_AVG": 0.2156,
"predicted_BB": 0.4706,
"predicted_H": 0.8195,
"predicted_HBP": 0.119,
"predicted_HR": 0.0902,
"predicted_OBP": 0.3116,
"predicted_R": 0.3742,
"predicted_RBI": 0.3895,
"predicted_SLG": 0.32,
"predicted_SO": 0.5634
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1192,
"delta": -0.0188,
"percent_delta": -0.1362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0097,
"delta": -0.0013,
"percent_delta": -0.1182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.97,
"after": 3.8036,
"delta": -0.1664,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2156,
"delta": -0.0014,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.506,
"after": 0.4706,
"delta": -0.0354,
"percent_delta": -0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.8195,
"delta": -0.0405,
"percent_delta": -0.0471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0902,
"delta": -0.0098,
"percent_delta": -0.098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3116,
"delta": 0.0016,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 0.3742,
"delta": -0.0508,
"percent_delta": -0.1195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3895,
"delta": -0.0205,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.328,
"after": 0.32,
"delta": -0.008,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.563,
"after": 0.5634,
"delta": 0.0004,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.97,
"after": 3.8036,
"delta": -0.1664,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 87
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1192,
"predicted_3B": 0.0097,
"predicted_AB": 3.8036,
"predicted_AVG": 0.2116,
"predicted_BB": 0.4689,
"predicted_H": 0.8047,
"predicted_HBP": 0.119,
"predicted_HR": 0.0888,
"predicted_OBP": 0.2981,
"predicted_R": 0.3621,
"predicted_RBI": 0.3769,
"predicted_SLG": 0.318,
"predicted_SO": 0.5654
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1192,
"after": 0.1192,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8036,
"after": 3.8036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2156,
"after": 0.2116,
"delta": -0.004,
"percent_delta": -0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4706,
"after": 0.4689,
"delta": -0.0017,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8195,
"after": 0.8047,
"delta": -0.0148,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.119,
"after": 0.119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0902,
"after": 0.0888,
"delta": -0.0014,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3116,
"after": 0.2981,
"delta": -0.0135,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3742,
"after": 0.3621,
"delta": -0.0121,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3895,
"after": 0.3769,
"delta": -0.0126,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.318,
"delta": -0.002,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5634,
"after": 0.5654,
"delta": 0.002,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3116,
"after": 0.2981,
"delta": -0.0135,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.97), rates preserved: AVG=0.203 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1192,
"after": 0.0,
"delta": -0.1192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0,
"delta": -0.0097,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8036,
"after": 4.0,
"delta": 0.1964,
"percent_delta": 0.0516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4689,
"after": 0.0,
"delta": -0.4689,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8047,
"after": 1.0,
"delta": 0.1953,
"percent_delta": 0.2427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0888,
"after": 0.0,
"delta": -0.0888,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3769,
"after": 0.0,
"delta": -0.3769,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5654,
"after": 1.0,
"delta": 0.4346,
"percent_delta": 0.7687,
"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.5654,
"after": 1.0,
"delta": 0.4346,
"percent_delta": 0.7687,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4689,
"after": 0.0,
"delta": -0.4689,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.3621,
"after": 0.0,
"delta": -0.3621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3621,
"after": 0.0,
"delta": -0.3621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"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.203,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.305,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2116,
"after": 0.203,
"delta": -0.0086,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2981,
"after": 0.292,
"delta": -0.0061,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.305,
"delta": -0.013,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 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": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2116,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2981,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.318,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.203,
"after": 0.2116,
"delta": 0.0086,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2981,
"delta": 0.0061,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.318,
"delta": 0.013,
"percent_delta": 0.0428,
"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.305,
"after": 0.318,
"delta": 0.013,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.97,
"after": 5.0,
"delta": 1.03,
"percent_delta": 0.2594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2116,
"delta": -0.0054,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.506,
"after": 0.0,
"delta": -0.506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.2981,
"delta": -0.0119,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.425,
"after": 0.0,
"delta": -0.425,
"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.328,
"after": 0.318,
"delta": -0.01,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.563,
"after": 2.0,
"delta": 1.437,
"percent_delta": 2.5524,
"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.563,
"after": 2.0,
"delta": 1.437,
"percent_delta": 2.5524,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.138 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.506 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.425 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.328 | - |
| predicted_SO | 0.563 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.010 | -0.001 |
| predicted_AB | 3.804 | -0.166 |
| predicted_AVG | 0.216 | -0.001 |
| predicted_BB | 0.471 | -0.035 |
| predicted_H | 0.820 | -0.040 |
| predicted_HBP | 0.119 | - |
| predicted_HR | 0.090 | -0.010 |
| predicted_OBP | 0.312 | 0.002 |
| predicted_R | 0.374 | -0.051 |
| predicted_RBI | 0.390 | -0.020 |
| predicted_SLG | 0.320 | -0.008 |
| predicted_SO | 0.563 | 0.000 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.804 | 0.000 |
| predicted_AVG | 0.212 | -0.004 |
| predicted_BB | 0.469 | -0.002 |
| predicted_H | 0.805 | -0.015 |
| predicted_HBP | 0.119 | 0.000 |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.298 | -0.014 |
| predicted_R | 0.362 | -0.012 |
| predicted_RBI | 0.377 | -0.013 |
| predicted_SLG | 0.318 | -0.002 |
| predicted_SO | 0.565 | 0.002 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.203 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.010 |
| predicted_AB | 4.000 | 0.196 |
| predicted_AVG | 0.203 | -0.009 |
| predicted_BB | 0.000 | -0.469 |
| predicted_H | 1.000 | 0.195 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.292 | -0.006 |
| predicted_R | 0.000 | -0.362 |
| predicted_RBI | 0.000 | -0.377 |
| predicted_SLG | 0.305 | -0.013 |
| predicted_SO | 1.000 | 0.435 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 3.000 | 0.1429 | 0.2174 | 0.1429 | 0.1429 | 0.0000 | 0.0476 | 0.0476 | 0.1429 |
| last_10 | 0.20 | 10 | - | 35.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 4.000 | 4.000 | 0.1429 | 0.2683 | 0.1429 | 0.1429 | 0.0000 | 0.0571 | 0.1143 | 0.1143 |
| season | 0.60 | 87 | - | 293.000 | 75.000 | 12.000 | 1.000 | 10.000 | 38.000 | 37.000 | 44.000 | 49.000 | 0.2560 | 0.3621 | 0.4061 | 0.2560 | 0.0341 | 0.1297 | 0.1502 | 0.1672 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.5800 |
| predicted_AVG | 0.2137 |
| predicted_BB | 0.4230 |
| predicted_H | 0.7650 |
| predicted_HBP | 0.1190 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.3137 |
| predicted_R | 0.3060 |
| predicted_RBI | 0.3620 |
| predicted_SLG | 0.3093 |
| predicted_SO | 0.5640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.0940 | 0.1192 | model_form_blend |
| predicted_3B | 0.0110 | 0.0080 | 0.0097 | model_form_blend |
| predicted_AB | 3.9700 | 3.5800 | 3.8036 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2137 | 0.2156 | model_form_blend |
| predicted_BB | 0.5060 | 0.4230 | 0.4706 | model_form_blend |
| predicted_H | 0.8600 | 0.7650 | 0.8195 | model_form_blend |
| predicted_HBP | - | 0.1190 | 0.1190 | form_only |
| predicted_HR | 0.1000 | 0.0770 | 0.0902 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3137 | 0.3116 | model_form_blend |
| predicted_R | 0.4250 | 0.3060 | 0.3742 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3620 | 0.3895 | model_form_blend |
| predicted_SLG | 0.3280 | 0.3093 | 0.3200 | model_form_blend |
| predicted_SO | 0.5630 | 0.5640 | 0.5634 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 345 |
| Season rows before report date | 345 |
| Report year | 2026 |
| Profile rows used | 87 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 1B |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 687462 |
| playerID | 687462 |
| playerName | Spencer Horwitz |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 14.1 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.343 |
| sl_xwoba | 0.324 |
| sl_xba | 0.227 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 31.9 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 15.2 |
| sl_swing_percent | 40.8 |
| at_bat_number | 74.0 |
| ab_pitcher | 445276.0 |
| ab_pitcher_name | Jansen, Kenley |
| ab_home_team | PIT |
| ab_away_team | DET |
| 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 | 3.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Spencer Horwitz flies out to right fielder Zach McKinstry. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 89.5 |
| ab_launch_angle_last | 57.0 |
| ab_hit_distance_last | 203.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 | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 90.925 |
| ab_release_spin_rate_avg | 2520.75 |
| ab_effective_speed_avg | 92.25 |
| ab_launch_speed_avg | 81.0 |
| ab_launch_angle_avg | 53.0 |
| ab_delta_run_exp_avg | -0.0655 |
| ab_delta_home_win_exp_avg | -0.0115 |
| ab_delta_pitcher_run_exp_avg | 0.0655 |
| ab_bat_speed_avg | 68.5 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 89.5 |
| ab_hit_distance_sc_max | 216.0 |
| ab_release_speed_max | 94.4 |
| ab_release_spin_rate_max | 2642.0 |
| ab_release_speed_min | 83.1 |
| ab_release_spin_rate_min | 2243.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | -0.046 |
| 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.125 | 0.000 | 0.000 | Hitting_2B | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 3.000 | 3.000 | Hitting_AB | 3.053 | 2.000 | -0.053 | 1.000 |
| predicted_AVG | 0.404 | 0.667 | 0.333 | Hitting_AVG | 0.310 | 1.000 | 0.356 | -0.333 |
| predicted_BB | 0.438 | 1.000 | 0.000 | Hitting_BB | 0.456 | 0.000 | 0.544 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 2.000 | 1.000 | Hitting_H | 0.947 | 2.000 | 1.053 | 0.000 |
| predicted_HR | 0.450 | 2.000 | 1.000 | Hitting_HR | 0.386 | 2.000 | 1.614 | 0.000 |
| predicted_OBP | 0.404 | 0.750 | 0.333 | Hitting_OBP | 0.400 | 1.000 | 0.350 | -0.250 |
| predicted_R | 0.562 | 1.000 | 1.000 | Hitting_R | 0.596 | 2.000 | 0.404 | -1.000 |
| predicted_RBI | 0.570 | 2.000 | 1.000 | Hitting_RBI | 0.877 | 2.000 | 1.123 | 0.000 |
| predicted_SLG | 1.020 | 2.667 | 1.333 | Hitting_SLG | 0.730 | 4.000 | 1.937 | -1.333 |
| predicted_SO | 0.938 | 0.000 | 1.000 | Hitting_SO | 0.965 | 0.000 | -0.965 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_HR: 0.4500 -> 2.0000 (boost 1.5500, better) |
| Biggest Deboost | predicted_SO: 0.9380 -> 0.0000 (deboost -0.9380, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 2 | 3 | predicted_H: 0.6600 -> 0.7734 (boost 0.1134, better) | predicted_SLG: 1.0200 -> 0.8946 (deboost -0.1254, worse) | Final model input calibrated with local form: 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.8946 -> 0.6818 (deboost -0.2128, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_RBI: 0.5834 -> 1.0000 (boost 0.4166, better) | predicted_BB: 0.4167 -> 0.0000 (deboost -0.4167, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.246 HR/AB=0.130 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5740 -> 1.0000 (boost 0.4260, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.6818 -> 0.6890 (boost 0.0072, better) | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_HR: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.6890 -> 0.6818 (deboost -0.0072, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "804668",
"player_name": "Rafael Flores Jr.",
"position": "C",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.404,
"predicted_BB": 0.438,
"predicted_H": 0.66,
"predicted_HR": 0.45,
"predicted_OBP": 0.404,
"predicted_R": 0.562,
"predicted_RBI": 0.57,
"predicted_SLG": 1.02,
"predicted_SO": 0.938
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.134,
"predicted_3B": 0.0017,
"predicted_AB": 3.0846,
"predicted_AVG": 0.3694,
"predicted_BB": 0.4182,
"predicted_H": 0.7734,
"predicted_HBP": 0.01,
"predicted_HR": 0.4084,
"predicted_OBP": 0.3952,
"predicted_R": 0.5932,
"predicted_RBI": 0.6029,
"predicted_SLG": 0.8946,
"predicted_SO": 0.9605
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.134,
"delta": 0.009,
"percent_delta": 0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0846,
"delta": 0.0846,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.404,
"after": 0.3694,
"delta": -0.0346,
"percent_delta": -0.0856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.438,
"after": 0.4182,
"delta": -0.0198,
"percent_delta": -0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.7734,
"delta": 0.1134,
"percent_delta": 0.1718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.45,
"after": 0.4084,
"delta": -0.0416,
"percent_delta": -0.0924,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.404,
"after": 0.3952,
"delta": -0.0088,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 0.5932,
"delta": 0.0312,
"percent_delta": 0.0555,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.6029,
"delta": 0.0329,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 1.02,
"after": 0.8946,
"delta": -0.1254,
"percent_delta": -0.1229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.938,
"after": 0.9605,
"delta": 0.0225,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.66,
"after": 0.7734,
"delta": 0.1134,
"percent_delta": 0.1718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 1.02,
"after": 0.8946,
"delta": -0.1254,
"percent_delta": -0.1229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.134,
"predicted_3B": 0.0017,
"predicted_AB": 3.0846,
"predicted_AVG": 0.2462,
"predicted_BB": 0.4167,
"predicted_H": 0.7595,
"predicted_HBP": 0.01,
"predicted_HR": 0.402,
"predicted_OBP": 0.3359,
"predicted_R": 0.574,
"predicted_RBI": 0.5834,
"predicted_SLG": 0.6818,
"predicted_SO": 0.964
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.134,
"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.0846,
"after": 3.0846,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3694,
"after": 0.2462,
"delta": -0.1232,
"percent_delta": -0.3335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4182,
"after": 0.4167,
"delta": -0.0015,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7734,
"after": 0.7595,
"delta": -0.0139,
"percent_delta": -0.018,
"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.4084,
"after": 0.402,
"delta": -0.0064,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3952,
"after": 0.3359,
"delta": -0.0593,
"percent_delta": -0.1501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5932,
"after": 0.574,
"delta": -0.0192,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6029,
"after": 0.5834,
"delta": -0.0195,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.8946,
"after": 0.6818,
"delta": -0.2128,
"percent_delta": -0.2379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9605,
"after": 0.964,
"delta": 0.0035,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.8946,
"after": 0.6818,
"delta": -0.2128,
"percent_delta": -0.2379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.08), rates preserved: AVG=0.246 HR/AB=0.130",
"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.134,
"after": 0.0,
"delta": -0.134,
"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.0846,
"after": 3.0,
"delta": -0.0846,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4167,
"after": 0.0,
"delta": -0.4167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7595,
"after": 1.0,
"delta": 0.2405,
"percent_delta": 0.3167,
"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.402,
"after": 0.0,
"delta": -0.402,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5834,
"after": 1.0,
"delta": 0.4166,
"percent_delta": 0.7141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.964,
"after": 1.0,
"delta": 0.036,
"percent_delta": 0.0373,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5834,
"after": 1.0,
"delta": 0.4166,
"percent_delta": 0.7141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4167,
"after": 0.0,
"delta": -0.4167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.574,
"after": 1.0,
"delta": 0.426,
"percent_delta": 0.7422,
"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.574,
"after": 1.0,
"delta": 0.426,
"percent_delta": 0.7422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"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.246,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.341,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.689,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2462,
"after": 0.246,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3359,
"after": 0.341,
"delta": 0.0051,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6818,
"after": 0.689,
"delta": 0.0072,
"percent_delta": 0.0106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.6818,
"after": 0.689,
"delta": 0.0072,
"percent_delta": 0.0106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2462,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_OBP": 0.3359,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6818,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2462,
"delta": 0.0002,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3359,
"delta": -0.0051,
"percent_delta": -0.0149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.689,
"after": 0.6818,
"delta": -0.0072,
"percent_delta": -0.0105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.689,
"after": 0.6818,
"delta": -0.0072,
"percent_delta": -0.0105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.404,
"after": 0.2462,
"delta": -0.1578,
"percent_delta": -0.3906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.438,
"after": 1.0,
"delta": 0.562,
"percent_delta": 1.2831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 2.0,
"delta": 1.34,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.404,
"after": 0.3359,
"delta": -0.0681,
"percent_delta": -0.1686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 1.0,
"delta": 0.438,
"percent_delta": 0.7794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 1.02,
"after": 0.6818,
"delta": -0.3382,
"percent_delta": -0.3316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.938,
"after": 0.0,
"delta": -0.938,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.45,
"after": 2.0,
"delta": 1.55,
"percent_delta": 3.4444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.938,
"after": 0.0,
"delta": -0.938,
"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 | 3.000 | - |
| predicted_AVG | 0.404 | - |
| predicted_BB | 0.438 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.450 | - |
| predicted_OBP | 0.404 | - |
| predicted_R | 0.562 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 1.020 | - |
| predicted_SO | 0.938 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.085 | 0.085 |
| predicted_AVG | 0.369 | -0.035 |
| predicted_BB | 0.418 | -0.020 |
| predicted_H | 0.773 | 0.113 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.408 | -0.042 |
| predicted_OBP | 0.395 | -0.009 |
| predicted_R | 0.593 | 0.031 |
| predicted_RBI | 0.603 | 0.033 |
| predicted_SLG | 0.895 | -0.125 |
| predicted_SO | 0.961 | 0.023 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.085 | 0.000 |
| predicted_AVG | 0.246 | -0.123 |
| predicted_BB | 0.417 | -0.002 |
| predicted_H | 0.759 | -0.014 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.402 | -0.006 |
| predicted_OBP | 0.336 | -0.059 |
| predicted_R | 0.574 | -0.019 |
| predicted_RBI | 0.583 | -0.019 |
| predicted_SLG | 0.682 | -0.213 |
| predicted_SO | 0.964 | 0.003 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.246 HR/AB=0.130
| 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.085 |
| predicted_AVG | 0.246 | -0.000 |
| predicted_BB | 0.000 | -0.417 |
| predicted_H | 1.000 | 0.241 |
| predicted_HR | 0.000 | -0.402 |
| predicted_OBP | 0.341 | 0.005 |
| predicted_R | 1.000 | 0.426 |
| predicted_RBI | 1.000 | 0.417 |
| predicted_SLG | 0.689 | 0.007 |
| predicted_SO | 1.000 | 0.036 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 2.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 5.000 | 1.000 | 0.000 | 2.000 | 2.000 | 5.000 | 2.000 | 6.000 | 0.3571 | 0.4375 | 0.8571 | 0.3571 | 0.1429 | 0.1429 | 0.1429 | 0.4286 |
| last_10 | 0.20 | 10 | - | 29.000 | 11.000 | 1.000 | 0.000 | 5.000 | 10.000 | 8.000 | 4.000 | 12.000 | 0.3793 | 0.4545 | 0.9310 | 0.3793 | 0.1724 | 0.3448 | 0.1379 | 0.4138 |
| season | 0.60 | 16 | - | 48.000 | 15.000 | 2.000 | 0.000 | 6.000 | 12.000 | 9.000 | 7.000 | 15.000 | 0.3125 | 0.4000 | 0.7292 | 0.3125 | 0.1250 | 0.2500 | 0.1458 | 0.3125 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1510 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.2440 |
| predicted_AVG | 0.3041 |
| predicted_BB | 0.3810 |
| predicted_H | 0.9870 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.3300 |
| predicted_OBP | 0.3785 |
| predicted_R | 0.6520 |
| predicted_RBI | 0.6650 |
| predicted_SLG | 0.6585 |
| predicted_SO | 1.0030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1510 | 0.1340 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 3.0000 | 3.2440 | 3.0846 | model_form_blend |
| predicted_AVG | 0.4040 | 0.3041 | 0.3694 | model_form_blend |
| predicted_BB | 0.4380 | 0.3810 | 0.4182 | model_form_blend |
| predicted_H | 0.6600 | 0.9870 | 0.7734 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.4500 | 0.3300 | 0.4084 | model_form_blend |
| predicted_OBP | 0.4040 | 0.3785 | 0.3952 | model_form_blend |
| predicted_R | 0.5620 | 0.6520 | 0.5932 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6650 | 0.6029 | model_form_blend |
| predicted_SLG | 1.0200 | 0.6585 | 0.8946 | model_form_blend |
| predicted_SO | 0.9380 | 1.0030 | 0.9605 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 57 |
| Season rows before report date | 57 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 2 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 8 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-C |
| gameID | 20260819_DET@PIT |
| game_type | ph |
| mlbID | 804668 |
| note | Homered for Davis, H in the 7th. |
| playerID | 804668 |
| playerName | Rafael Flores Jr. |
| pos | C |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.475 |
| sl_xwoba | 0.413 |
| sl_xba | 0.27 |
| sl_xslg | 0.604 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 21.2 |
| sl_hard_hit_percent | 51.5 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 34.1 |
| sl_swing_percent | 38.7 |
| at_bat_number | 73.0 |
| ab_pitcher | 445276.0 |
| ab_pitcher_name | Jansen, Kenley |
| ab_home_team | PIT |
| ab_away_team | DET |
| ab_game_type | R |
| ab_stand | R |
| 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 | 2.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 3.0 |
| ab_event | home_run |
| ab_event_description | Rafael Flores Jr. homers (6) on a fly ball to left field. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 110.0 |
| ab_launch_angle_last | 30.0 |
| ab_hit_distance_last | 431.0 |
| ab_estimated_ba_last | 0.991 |
| ab_estimated_woba_last | 2.02 |
| ab_estimated_slg_last | 3.958 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 94.65 |
| ab_release_spin_rate_avg | 2720.5 |
| ab_effective_speed_avg | 95.75 |
| ab_launch_speed_avg | 91.6 |
| ab_launch_angle_avg | 25.0 |
| ab_delta_run_exp_avg | 0.39575 |
| ab_delta_home_win_exp_avg | 0.1167499999999999 |
| ab_delta_pitcher_run_exp_avg | -0.39575 |
| ab_bat_speed_avg | 68.06666666666666 |
| ab_swing_length_avg | 6.366666666666667 |
| ab_launch_speed_max | 110.0 |
| ab_hit_distance_sc_max | 431.0 |
| ab_release_speed_max | 95.4 |
| ab_release_spin_rate_max | 2760.0 |
| ab_release_speed_min | 94.1 |
| ab_release_spin_rate_min | 2636.0 |
| ab_delta_run_exp_sum | 1.583 |
| ab_delta_home_win_exp_sum | 0.4669999999999999 |
| ab_delta_pitcher_run_exp_sum | -1.583 |
| 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.125 | 0.000 | 0.000 | Hitting_2B | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.732 | 3.000 | 3.000 | Hitting_AB | 2.846 | 2.000 | 0.154 | 1.000 |
| predicted_AVG | 0.248 | 0.000 | 0.000 | Hitting_AVG | 0.176 | 0.500 | -0.176 | -0.500 |
| predicted_BB | 0.161 | 1.000 | 0.000 | Hitting_BB | 0.064 | 0.000 | 0.936 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_H | 0.560 | 0.000 | 0.000 | Hitting_H | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_OBP | 0.251 | 0.250 | 0.000 | Hitting_OBP | 0.196 | 0.500 | 0.054 | -0.250 |
| predicted_R | 0.304 | 0.000 | 0.000 | Hitting_R | 0.269 | 0.000 | -0.269 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_SLG | 0.343 | 0.000 | 0.000 | Hitting_SLG | 0.320 | 0.500 | -0.320 | -0.500 |
| predicted_SO | 0.554 | 0.000 | 0.000 | Hitting_SO | 0.359 | 0.000 | -0.359 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.1610 -> 1.0000 (boost 0.8390, better) |
| 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 | 0 | 2 | 1 | 1 | - | predicted_SO: 0.5540 -> 0.4924 (deboost -0.0616, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2364 -> 0.2070 (deboost -0.0294, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.4942 -> 1.0000 (boost 0.5058, worse) | predicted_RBI: 0.3149 -> 0.0000 (deboost -0.3149, worse) | AB rounded to 3 (raw=2.76), rates preserved: AVG=0.207 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2965 -> 0.0000 (deboost -0.2965, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 4 | 0 | 3 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3320 -> 0.3246 (deboost -0.0074, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"position": "SS",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 2.732,
"predicted_AVG": 0.248,
"predicted_BB": 0.161,
"predicted_H": 0.56,
"predicted_HR": 0.06,
"predicted_OBP": 0.251,
"predicted_R": 0.304,
"predicted_RBI": 0.31,
"predicted_SLG": 0.343,
"predicted_SO": 0.554
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1335,
"predicted_3B": 0.0008,
"predicted_AB": 2.7599,
"predicted_AVG": 0.2364,
"predicted_BB": 0.1488,
"predicted_H": 0.5819,
"predicted_HBP": 0.022,
"predicted_HR": 0.0641,
"predicted_OBP": 0.254,
"predicted_R": 0.3064,
"predicted_RBI": 0.3254,
"predicted_SLG": 0.3448,
"predicted_SO": 0.4924
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1335,
"delta": 0.0085,
"percent_delta": 0.068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.732,
"after": 2.7599,
"delta": 0.0279,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2364,
"delta": -0.0116,
"percent_delta": -0.0468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.161,
"after": 0.1488,
"delta": -0.0122,
"percent_delta": -0.0758,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.5819,
"delta": 0.0219,
"percent_delta": 0.0391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0641,
"delta": 0.0041,
"percent_delta": 0.0683,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.254,
"delta": 0.003,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.304,
"after": 0.3064,
"delta": 0.0024,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3254,
"delta": 0.0154,
"percent_delta": 0.0497,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3448,
"delta": 0.0018,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.554,
"after": 0.4924,
"delta": -0.0616,
"percent_delta": -0.1112,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.554,
"after": 0.4924,
"delta": -0.0616,
"percent_delta": -0.1112,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 56
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1335,
"predicted_3B": 0.0008,
"predicted_AB": 2.7599,
"predicted_AVG": 0.207,
"predicted_BB": 0.1483,
"predicted_H": 0.5714,
"predicted_HBP": 0.022,
"predicted_HR": 0.0631,
"predicted_OBP": 0.2475,
"predicted_R": 0.2965,
"predicted_RBI": 0.3149,
"predicted_SLG": 0.3246,
"predicted_SO": 0.4942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1335,
"after": 0.1335,
"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.7599,
"after": 2.7599,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2364,
"after": 0.207,
"delta": -0.0294,
"percent_delta": -0.1244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1488,
"after": 0.1483,
"delta": -0.0005,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5819,
"after": 0.5714,
"delta": -0.0105,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0641,
"after": 0.0631,
"delta": -0.001,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.2475,
"delta": -0.0065,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3064,
"after": 0.2965,
"delta": -0.0099,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3254,
"after": 0.3149,
"delta": -0.0105,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3448,
"after": 0.3246,
"delta": -0.0202,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4924,
"after": 0.4942,
"delta": 0.0018,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2364,
"after": 0.207,
"delta": -0.0294,
"percent_delta": -0.1244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.76), rates preserved: AVG=0.207 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1335,
"after": 0.0,
"delta": -0.1335,
"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.7599,
"after": 3.0,
"delta": 0.2401,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1483,
"after": 0.0,
"delta": -0.1483,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5714,
"after": 1.0,
"delta": 0.4286,
"percent_delta": 0.7501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0631,
"after": 0.0,
"delta": -0.0631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3149,
"after": 0.0,
"delta": -0.3149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4942,
"after": 1.0,
"delta": 0.5058,
"percent_delta": 1.0235,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.4942,
"after": 1.0,
"delta": 0.5058,
"percent_delta": 1.0235,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3149,
"after": 0.0,
"delta": -0.3149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2965,
"after": 0.0,
"delta": -0.2965,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2965,
"after": 0.0,
"delta": -0.2965,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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": 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.207,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.253,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.332,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.207,
"after": 0.207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"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_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2475,
"after": 0.253,
"delta": 0.0055,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3246,
"after": 0.332,
"delta": 0.0074,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"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": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.207,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2475,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3246,
"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.207,
"after": 0.207,
"delta": 0.0,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2475,
"delta": -0.0055,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3246,
"delta": -0.0074,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3246,
"delta": -0.0074,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "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.732,
"after": 3.0,
"delta": 0.268,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.207,
"delta": -0.041,
"percent_delta": -0.1653,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.161,
"after": 1.0,
"delta": 0.839,
"percent_delta": 5.2112,
"direction": "boost",
"projection_effect": "better",
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.251,
"after": 0.2475,
"delta": -0.0035,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.304,
"after": 0.0,
"delta": -0.304,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.3246,
"delta": -0.0184,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.554,
"after": 0.0,
"delta": -0.554,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.161,
"after": 1.0,
"delta": 0.839,
"percent_delta": 5.2112,
"direction": "boost",
"projection_effect": "better",
"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.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.732 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.161 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.251 | - |
| predicted_R | 0.304 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.343 | - |
| predicted_SO | 0.554 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.009 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.760 | 0.028 |
| predicted_AVG | 0.236 | -0.012 |
| predicted_BB | 0.149 | -0.012 |
| predicted_H | 0.582 | 0.022 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.064 | 0.004 |
| predicted_OBP | 0.254 | 0.003 |
| predicted_R | 0.306 | 0.002 |
| predicted_RBI | 0.325 | 0.015 |
| predicted_SLG | 0.345 | 0.002 |
| predicted_SO | 0.492 | -0.062 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.760 | 0.000 |
| predicted_AVG | 0.207 | -0.029 |
| predicted_BB | 0.148 | -0.001 |
| predicted_H | 0.571 | -0.010 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.063 | -0.001 |
| predicted_OBP | 0.247 | -0.007 |
| predicted_R | 0.296 | -0.010 |
| predicted_RBI | 0.315 | -0.011 |
| predicted_SLG | 0.325 | -0.020 |
| predicted_SO | 0.494 | 0.002 |
AB rounded to 3 (raw=2.76), rates preserved: AVG=0.207 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.134 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.240 |
| predicted_AVG | 0.207 | 0.000 |
| predicted_BB | 0.000 | -0.148 |
| predicted_H | 1.000 | 0.429 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.253 | 0.006 |
| predicted_R | 0.000 | -0.296 |
| predicted_RBI | 0.000 | -0.315 |
| predicted_SLG | 0.332 | 0.007 |
| predicted_SO | 1.000 | 0.506 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 11.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.1818 | 0.1818 | 0.2727 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 10 | - | 27.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 1.000 | 1.000 | 0.2222 | 0.2500 | 0.3704 | 0.2222 | 0.0370 | 0.1482 | 0.0370 | 0.0370 |
| season | 0.60 | 56 | - | 153.000 | 34.000 | 7.000 | 0.000 | 4.000 | 24.000 | 17.000 | 9.000 | 31.000 | 0.2222 | 0.2727 | 0.3464 | 0.2222 | 0.0261 | 0.1569 | 0.0588 | 0.2026 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.8010 |
| predicted_AVG | 0.2193 |
| predicted_BB | 0.1310 |
| predicted_H | 0.6140 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0700 |
| predicted_OBP | 0.2585 |
| predicted_R | 0.3100 |
| predicted_RBI | 0.3480 |
| predicted_SLG | 0.3474 |
| predicted_SO | 0.4020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1460 | 0.1335 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.7320 | 2.8010 | 2.7599 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2193 | 0.2364 | model_form_blend |
| predicted_BB | 0.1610 | 0.1310 | 0.1488 | model_form_blend |
| predicted_H | 0.5600 | 0.6140 | 0.5819 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0600 | 0.0700 | 0.0641 | model_form_blend |
| predicted_OBP | 0.2510 | 0.2585 | 0.2540 | model_form_blend |
| predicted_R | 0.3040 | 0.3100 | 0.3064 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3480 | 0.3254 | model_form_blend |
| predicted_SLG | 0.3430 | 0.3474 | 0.3448 | model_form_blend |
| predicted_SO | 0.5540 | 0.4020 | 0.4924 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 78 |
| Season rows before report date | 78 |
| Report year | 2026 |
| Profile rows used | 56 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 694378 |
| playerID | 694378 |
| playerName | Jacob Gonzalez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.293 |
| sl_xwoba | 0.315 |
| sl_xba | 0.262 |
| sl_xslg | 0.408 |
| sl_sweet_spot_percent | 34.8 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 36.6 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 58.1 |
| at_bat_number | 32.0 |
| ab_pitcher | 695549.0 |
| ab_pitcher_name | Jobe, Jackson |
| ab_home_team | PIT |
| ab_away_team | DET |
| 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_on_1b_start | 693304.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 1.0 |
| ab_event | single |
| ab_event_description | Jacob Gonzalez singles on a line drive to right fielder Zach McKinstry. Nick Gonzales to 2nd. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 88.1 |
| ab_launch_angle_last | 17.0 |
| ab_hit_distance_last | 224.0 |
| ab_estimated_ba_last | 0.857 |
| ab_estimated_woba_last | 0.795 |
| ab_estimated_slg_last | 0.981 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 1.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 91.28 |
| ab_release_spin_rate_avg | 2322.8 |
| ab_effective_speed_avg | 91.32 |
| ab_launch_speed_avg | 62.4 |
| ab_launch_angle_avg | 8.0 |
| ab_delta_run_exp_avg | 0.0818 |
| ab_delta_home_win_exp_avg | 0.0087999999999999 |
| ab_delta_pitcher_run_exp_avg | -0.0818 |
| ab_bat_speed_avg | 66.10000000000001 |
| ab_swing_length_avg | 7.166666666666667 |
| ab_launch_speed_max | 88.1 |
| ab_hit_distance_sc_max | 224.0 |
| ab_release_speed_max | 98.4 |
| ab_release_spin_rate_max | 2743.0 |
| ab_release_speed_min | 80.4 |
| ab_release_spin_rate_min | 1673.0 |
| ab_delta_run_exp_sum | 0.409 |
| ab_delta_home_win_exp_sum | 0.044 |
| ab_delta_pitcher_run_exp_sum | -0.409 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.667 | 2.000 | -0.667 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.375 | 2.000 | -0.375 | 0.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.250 | 4.000 | -1.250 | -1.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 4.929 | 5.000 | 0.171 | 0.100 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.500 | 5.000 | 1.500 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 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": "696149",
"player_name": "Bubba Chandler",
"position": "Starter",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 2.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 6.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.000 | 7.000 | 20.000 | 9.000 | 23.000 | 0.000 | 2.3333 | 1.0741 | 0.2593 | 0.7407 | 0.3333 | 0.8518 | 0.0000 |
| last_10 | 0.35 | 10 | 53.100 | 21.000 | 49.000 | 23.000 | 40.000 | 2.000 | 3.5437 | 1.3500 | 0.3937 | 0.9187 | 0.4313 | 0.7500 | 0.0375 |
| season | 0.20 | 24 | 121.100 | 57.000 | 102.000 | 64.000 | 108.000 | 10.000 | 4.2280 | 1.3681 | 0.4698 | 0.8407 | 0.5275 | 0.8901 | 0.0824 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1090 |
| predicted_ER | 1.9780 |
| predicted_ERA | 3.3729 |
| predicted_H | 4.4800 |
| predicted_HR | 0.2630 |
| predicted_IP | 5.1000 |
| predicted_SO | 4.4650 |
| predicted_WHIP | 1.2483 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.1090 | 2.0629 | model_form_blend |
| predicted_ER | 2.0000 | 1.9780 | 1.9873 | model_form_blend |
| predicted_ERA | - | 3.3729 | 3.3729 | form_only |
| predicted_H | 3.0000 | 4.4800 | 3.8542 | model_form_blend |
| predicted_HR | 0.0000 | 0.2630 | 0.1518 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 6.0000 | 4.4650 | 5.1141 | model_form_blend |
| predicted_WHIP | - | 1.2483 | 1.2483 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 6 |
| HR | 0 |
| BF | 22 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 20 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.23 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 4 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 87 |
| Pitching_R | 2 |
| Pitching_SO | 5 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260814_BOS@PIT |
| game_type | full |
| mlbID | 696149 |
| playerID | 696149 |
| playerName | Bubba Chandler |
| pos | P |
| started | True |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-14 |
| game_pk | 823346.0 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.305 |
| sl_xwoba | 0.311 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 37.1 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 47.9 |
| sv_pitch_count | 87.0 |
| sv_outs_recorded_est | 14.0 |
| sv_release_speed | 94.63448275862068 |
| sv_release_spin_rate | 2269.310344827586 |
| sv_effective_speed | 95.07701149425289 |
| sv_launch_speed | 79.49354838709678 |
| sv_launch_angle | 13.709677419354838 |
| sv_woba_value | 5.35 |
| sv_woba_denom | 20.0 |
| sv_delta_run_exp | -0.7260000000000001 |
| sv_delta_home_win_exp | 0.137 |
| sl_avg_best_speed | 78.330648324 |
| sl_avg_hyper_speed | 93.663781739 |
| 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.250 | 0.000 | -0.250 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.750 | 0.000 | 1.250 | 2.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 1.250 | 0.000 | 2.750 | 4.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.000 | 1.000 | 0.100 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "596133",
"player_name": "Luke Weaver",
"position": "Setup Man",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 4.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": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 5.000 | 1.000 | 5.000 | 0.000 | 5.4000 | 1.2000 | 0.6000 | 1.0000 | 0.2000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 4.000 | 9.000 | 1.000 | 7.000 | 1.000 | 3.6000 | 1.0000 | 0.4000 | 0.9000 | 0.1000 | 0.7000 | 0.1000 |
| season | 0.20 | 46 | 48.000 | 12.000 | 30.000 | 12.000 | 49.000 | 3.000 | 2.2500 | 0.8750 | 0.2500 | 0.6250 | 0.2500 | 1.0208 | 0.0625 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2400 |
| predicted_ER | 0.4740 |
| predicted_ERA | 4.2667 |
| predicted_H | 0.9180 |
| predicted_HR | 0.0820 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9170 |
| predicted_WHIP | 1.1586 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2400 | 0.1213 | model_form_blend |
| predicted_ER | 2.0000 | 0.4740 | 1.2285 | model_form_blend |
| predicted_ERA | - | 4.2667 | 4.2667 | form_only |
| predicted_H | 4.0000 | 0.9180 | 2.4419 | model_form_blend |
| predicted_HR | 0.0000 | 0.0820 | 0.0415 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9170 | 0.4636 | model_form_blend |
| predicted_WHIP | - | 1.1586 | 1.1586 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 46 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 4 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 8 |
| Pitches | 29 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.25 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 596133 |
| playerID | 596133 |
| playerName | Luke Weaver |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.224 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 35.5 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 53.3 |
| sv_pitch_count | 17.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.33529411764708 |
| sv_release_spin_rate | 2172.705882352941 |
| sv_effective_speed | 91.46470588235294 |
| sv_launch_speed | 76.30000000000001 |
| sv_launch_angle | 13.88888888888889 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.781 |
| sv_delta_home_win_exp | 0.053 |
| sl_avg_best_speed | 78.680899836 |
| sl_avg_hyper_speed | 93.541163967 |
| 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.404 | 0.000 | -0.404 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.692 | 2.000 | -0.692 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.829 | 1.000 | 0.271 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.577 | 2.000 | -0.577 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.1000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "682254",
"player_name": "Mason Montgomery",
"position": "Closer",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.1,
"delta": 1.0,
"percent_delta": 10.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 0.000 | 2.000 | 0.000 | 10.000 | 0.000 | 0.0000 | 0.4615 | 0.0000 | 0.4615 | 0.0000 | 2.3077 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 2.000 | 5.000 | 2.000 | 19.000 | 1.000 | 2.0000 | 0.7778 | 0.2222 | 0.5556 | 0.2222 | 2.1111 | 0.1111 |
| season | 0.20 | 51 | 50.100 | 17.000 | 34.000 | 21.000 | 82.000 | 4.000 | 3.0397 | 1.0927 | 0.3377 | 0.6755 | 0.4172 | 1.6291 | 0.0795 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1790 |
| predicted_ER | 0.2050 |
| predicted_ERA | 2.3690 |
| predicted_H | 0.5310 |
| predicted_HR | 0.0670 |
| predicted_IP | 0.2000 |
| predicted_SO | 1.3410 |
| predicted_WHIP | 0.9106 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1790 | 0.0913 | model_form_blend |
| predicted_ER | 0.0000 | 0.2050 | 0.1046 | model_form_blend |
| predicted_ERA | - | 2.3690 | 2.3690 | form_only |
| predicted_H | 0.0000 | 0.5310 | 0.2708 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0342 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.3410 | 1.1739 | model_form_blend |
| predicted_WHIP | - | 0.9106 | 0.9106 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 52 |
| Season rows before report date | 52 |
| Report year | 2026 |
| Profile rows used | 51 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.40 |
| 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 | 26 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260819_DET@PIT |
| game_type | full |
| mlbID | 682254 |
| playerID | 682254 |
| playerName | Mason Montgomery |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-08-19 |
| game_pk | 823342.0 |
| sl_k_percent | 39.0 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.258 |
| sl_xwoba | 0.247 |
| sl_sweet_spot_percent | 23.4 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 40.2 |
| sl_whiff_percent | 32.9 |
| sl_swing_percent | 49.7 |
| sv_pitch_count | 26.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 97.58461538461538 |
| sv_release_spin_rate | 2309.730769230769 |
| sv_effective_speed | 98.9653846153846 |
| sv_launch_speed | 79.52727272727272 |
| sv_launch_angle | 9.181818181818182 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.098 |
| sv_delta_home_win_exp | 0.0389999999999999 |
| sl_avg_best_speed | 73.494051132 |
| sl_avg_hyper_speed | 94.3417 |
| Field | Value |
|---|---|
| Pitcher | Yoshinobu Yamamoto |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4991 |
| ESPN Rank | 10 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0668 |
| Avg Velo | 91.1081 |
| Avg Spin | 2168.8993 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.2000 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 2.6009 |
| Season WHIP | 0.8945 |
| Role Avg IP | 6.6060 |
| Recent Avg IP | 6.9330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6016,
"runs_scored": 640.0,
"runs_allowed": 495.0,
"run_differential": 145.0,
"run_differential_per_game": 1.1328,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8672,
"offense_index": 1.1154,
"defense_index": 1.1591,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.2,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.2954
},
"opponent": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4884,
"runs_scored": 646.0,
"runs_allowed": 615.0,
"run_differential": 31.0,
"run_differential_per_game": 0.2403,
"avg_runs_scored": 5.0078,
"avg_runs_allowed": 4.7674,
"offense_index": 1.1172,
"defense_index": 0.9402,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.5,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.0196
},
"edges": {
"quality_edge": 0.2758,
"offense_edge": 0.1154,
"opponent_offense_edge": 0.1172,
"defense_strength": 0.1591,
"opponent_defense_weakness": 0.0598,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0111,
"run_prevention": 0.9891,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "808967",
"profile": {
"available": true,
"pitcher_id": "808967",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 532.0,
"k_percent": 24.5,
"bb_percent": 6.1,
"woba": 0.245,
"xwoba": 0.273,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 35.9,
"avg_best_speed": 76.1777,
"avg_hyper_speed": 93.7712,
"whiff_percent": 25.9,
"swing_percent": 49.1
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8747,
"command_and_miss": 0.3229,
"regression_edge": -0.8,
"xwoba_edge": 1.1143,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.2429,
"whiff_edge": 0.0714,
"bb_edge": 0.75,
"pitch_design_score": 0.0668
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808967",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 102,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 102,
"pitch_usage": 0.0,
"release_speed": 91.10807720301315,
"release_spin_rate": 2168.8992794620294,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 102,
"pitch_usage": 0.0,
"release_speed": 91.10807720301315,
"release_spin_rate": 2168.8992794620294,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1081,
"release_spin_rate": 2168.8993,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0668,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4771,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.4991,
"sample_weight": 1.0,
"run_prevention_factor": 0.9576,
"strikeout_factor": 1.016,
"walk_factor": 0.94,
"homer_factor": 0.9462,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808967",
"espn_id": 4872587,
"player_name": "Yoshinobu Yamamoto",
"team": "LAD",
"role": "pitcher",
"espn_rank": 10,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 10,
"gp_value": 22.0,
"gp_rank": 325,
"gs_value": 22.0,
"gs_rank": 64,
"qs_value": 17.0,
"qs_rank": 3,
"era_value": 2.6009,
"era_rank": 8.0,
"w_value": 12.0,
"w_rank": 9,
"l_value": 7.0,
"l_rank": 62,
"sv_value": 0.0,
"sv_rank": 239,
"hld_value": 0.0,
"hld_rank": 323,
"ip_value": 145.1,
"ip_rank": 14,
"h_value": 96.0,
"h_rank": 100,
"er_value": 42.0,
"er_rank": 122,
"hr_value": 15.0,
"hr_rank": 65,
"bb_value": 34.0,
"bb_rank": 97,
"k_value": 136.0,
"k_rank": 30,
"k_per_9_value": 8.422019,
"k_per_9_rank": 57.0,
"whip_value": 0.8944,
"whip_rank": 2.0,
"war_value": 4.24,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9576,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9576,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.94,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9462,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.016,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 68.0,
"ER": 19,
"H": 40,
"BB": 19,
"SO": 63,
"HR": 6,
"ERA": 2.514705882352941,
"WHIP": 0.8676470588235294,
"K9": 8.338235294117647,
"HR9": 0.7941176470588235,
"games_pitched": 10,
"quality_starts": 8,
"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-14T00:00:00"
}{
"available": true,
"pitcher_id": "808967",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 102,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 102,
"pitch_usage": 0.0,
"release_speed": 91.10807720301315,
"release_spin_rate": 2168.8992794620294,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 102,
"pitch_usage": 0.0,
"release_speed": 91.10807720301315,
"release_spin_rate": 2168.8992794620294,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1081,
"release_spin_rate": 2168.8993,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0668,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4771,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 22.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8148,
"prior_weight": 0.1852
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "808967",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 6.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 34.2,
"ER": 7.0,
"R": 7.0,
"H": 20.0,
"BB": 9.0,
"SO": 30.0,
"HR": 3.0,
"BF": 131.0,
"Pitches": 502.0
},
"per_game": {
"IP": 7.0,
"ER": 1.4,
"R": 1.4,
"H": 4.0,
"BB": 1.8,
"SO": 6.0,
"HR": 0.6,
"BF": 26.2,
"Pitches": 100.4
},
"rates": {
"ERA": 1.8173,
"WHIP": 0.8365,
"ER_per_IP": 0.20192,
"H_per_IP": 0.57692,
"BB_per_IP": 0.25962,
"SO_per_IP": 0.86538,
"HR_per_IP": 0.08654
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 68.0,
"ER": 19.0,
"R": 19.0,
"H": 40.0,
"BB": 19.0,
"SO": 63.0,
"HR": 6.0,
"BF": 260.0,
"Pitches": 1005.0
},
"per_game": {
"IP": 6.2,
"ER": 1.9,
"R": 1.9,
"H": 4.0,
"BB": 1.9,
"SO": 6.3,
"HR": 0.6,
"BF": 26.0,
"Pitches": 100.5
},
"rates": {
"ERA": 2.5147,
"WHIP": 0.8676,
"ER_per_IP": 0.27941,
"H_per_IP": 0.58824,
"BB_per_IP": 0.27941,
"SO_per_IP": 0.92647,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 22,
"totals": {
"IP": 145.1,
"ER": 42.0,
"R": 43.0,
"H": 96.0,
"BB": 34.0,
"SO": 136.0,
"HR": 15.0,
"BF": 556.0,
"Pitches": 2160.0
},
"per_game": {
"IP": 6.2,
"ER": 1.9091,
"R": 1.9545,
"H": 4.3636,
"BB": 1.5455,
"SO": 6.1818,
"HR": 0.6818,
"BF": 25.2727,
"Pitches": 98.1818
},
"rates": {
"ERA": 2.6009,
"WHIP": 0.8945,
"ER_per_IP": 0.28899,
"H_per_IP": 0.66055,
"BB_per_IP": 0.23394,
"SO_per_IP": 0.93578,
"HR_per_IP": 0.10321
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 1.993,
"predicted_H": 4.528,
"predicted_BB": 1.907,
"predicted_SO": 6.18,
"predicted_HR": 0.685,
"predicted_ERA": 2.6427,
"predicted_WHIP": 0.9478
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4282,
"form_weight": 0.5718,
"form_reliability": 0.8148,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 22.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8148,
"prior_weight": 0.1852
},
"applied_metrics": {
"predicted_IP": {
"model": 6.2,
"form": 6.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.993,
"final": 1.5678,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.528,
"final": 3.4454,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.907,
"final": 2.3751,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 6.18,
"final": 5.6747,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.685,
"final": 0.3917,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6427,
"final": 2.6427,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9478,
"final": 0.9478,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Edgardo Henriquez |
| Role | Setup Man |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.7389 |
| ESPN Rank | 284 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 96.4005 |
| Avg Spin | 2579.8180 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 3.0600 |
| Season WHIP | 1.0600 |
| Role Avg IP | 1 |
| Recent Avg IP | 0.8000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6016,
"runs_scored": 640.0,
"runs_allowed": 495.0,
"run_differential": 145.0,
"run_differential_per_game": 1.1328,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8672,
"offense_index": 1.1154,
"defense_index": 1.1591,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.2,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.2954
},
"opponent": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4884,
"runs_scored": 646.0,
"runs_allowed": 615.0,
"run_differential": 31.0,
"run_differential_per_game": 0.2403,
"avg_runs_scored": 5.0078,
"avg_runs_allowed": 4.7674,
"offense_index": 1.1172,
"defense_index": 0.9402,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.5,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.0196
},
"edges": {
"quality_edge": 0.2758,
"offense_edge": 0.1154,
"opponent_offense_edge": 0.1172,
"defense_strength": 0.1591,
"opponent_defense_weakness": 0.0598,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0111,
"run_prevention": 0.9891,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683618",
"profile": {
"available": true,
"pitcher_id": "683618",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 194.0,
"k_percent": 26.7,
"bb_percent": 11.4,
"woba": 0.252,
"xwoba": 0.253,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 25.8,
"avg_best_speed": 70.5025,
"avg_hyper_speed": 92.0082,
"whiff_percent": 29.6,
"swing_percent": 48.5
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.4869,
"command_and_miss": 0.3843,
"regression_edge": -0.0286,
"xwoba_edge": 1.6857,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.6857,
"whiff_edge": 0.6,
"bb_edge": -0.575,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "683618",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 96.40048021876932,
"release_spin_rate": 2579.818023344304,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 96.40048021876932,
"release_spin_rate": 2579.818023344304,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 96.4005,
"release_spin_rate": 2579.818,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.7389,
"sample_weight": 0.776,
"run_prevention_factor": 0.9372,
"strikeout_factor": 1.0386,
"walk_factor": 1.0357,
"homer_factor": 0.845,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683618",
"espn_id": 5194684,
"player_name": "Edgardo Henriquez",
"team": "LAD",
"role": "pitcher",
"espn_rank": 284,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 284,
"gp_value": 50.0,
"gp_rank": 65,
"gs_value": 1.0,
"gs_rank": 288,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.06,
"era_rank": null,
"w_value": 4.0,
"w_rank": 162,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 9.0,
"hld_rank": 85,
"ip_value": 50.0,
"ip_rank": 261,
"h_value": 30.0,
"h_rank": 375,
"er_value": 17.0,
"er_rank": 332,
"hr_value": 1.0,
"hr_rank": 578,
"bb_value": 23.0,
"bb_rank": 209,
"k_value": 54.0,
"k_rank": 225,
"k_per_9_value": 9.72,
"k_per_9_rank": 23.0,
"whip_value": 1.06,
"whip_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9513,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9513,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0277,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8797,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.03,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 4,
"H": 6,
"BB": 5,
"SO": 12,
"HR": 0,
"ERA": 4.319999999999999,
"WHIP": 1.3199999999999998,
"K9": 12.959999999999999,
"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-18T00:00:00"
}{
"available": true,
"pitcher_id": "683618",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 96.40048021876932,
"release_spin_rate": 2579.818023344304,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 96.40048021876932,
"release_spin_rate": 2579.818023344304,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 96.4005,
"release_spin_rate": 2579.818,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 10.023,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6672,
"prior_weight": 0.3328
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "683618",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 50,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 14.0,
"Pitches": 53.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 2.8,
"Pitches": 10.6
},
"rates": {
"ERA": 2.25,
"WHIP": 0.5,
"ER_per_IP": 0.25,
"H_per_IP": 0.25,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 5.0,
"SO": 12.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 154.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.5,
"SO": 1.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.4
},
"rates": {
"ERA": 4.32,
"WHIP": 1.32,
"ER_per_IP": 0.48,
"H_per_IP": 0.72,
"BB_per_IP": 0.6,
"SO_per_IP": 1.44,
"HR_per_IP": 0.0
}
},
"season": {
"games": 50,
"totals": {
"IP": 50.0,
"ER": 17.0,
"R": 23.0,
"H": 30.0,
"BB": 23.0,
"SO": 54.0,
"HR": 1.0,
"BF": 202.0,
"Pitches": 800.0
},
"per_game": {
"IP": 1.0,
"ER": 0.34,
"R": 0.46,
"H": 0.6,
"BB": 0.46,
"SO": 1.08,
"HR": 0.02,
"BF": 4.04,
"Pitches": 16.0
},
"rates": {
"ERA": 3.06,
"WHIP": 1.06,
"ER_per_IP": 0.34,
"H_per_IP": 0.6,
"BB_per_IP": 0.46,
"SO_per_IP": 1.08,
"HR_per_IP": 0.02
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.328,
"predicted_H": 0.532,
"predicted_BB": 0.328,
"predicted_SO": 0.902,
"predicted_HR": 0.042,
"predicted_ERA": 3.5938,
"predicted_WHIP": 1.0453
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4906,
"form_weight": 0.5094,
"form_reliability": 0.6672,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.023,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6672,
"prior_weight": 0.3328
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.328,
"final": 0.6577,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.532,
"final": 1.2522,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.328,
"final": 0.6577,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.902,
"final": 0.9501,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.042,
"final": 0.512,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5938,
"final": 3.5938,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0453,
"final": 1.0453,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tanner Scott |
| Role | Closer |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5253 |
| ESPN Rank | 82 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1731 |
| Avg Velo | 93.0065 |
| Avg Spin | 2601.8065 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.2792 |
| Season WHIP | 0.9156 |
| Role Avg IP | 0.9330 |
| Recent Avg IP | 0.9330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6016,
"runs_scored": 640.0,
"runs_allowed": 495.0,
"run_differential": 145.0,
"run_differential_per_game": 1.1328,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8672,
"offense_index": 1.1154,
"defense_index": 1.1591,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.2,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.2954
},
"opponent": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4884,
"runs_scored": 646.0,
"runs_allowed": 615.0,
"run_differential": 31.0,
"run_differential_per_game": 0.2403,
"avg_runs_scored": 5.0078,
"avg_runs_allowed": 4.7674,
"offense_index": 1.1172,
"defense_index": 0.9402,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.5,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.0196
},
"edges": {
"quality_edge": 0.2758,
"offense_edge": 0.1154,
"opponent_offense_edge": 0.1172,
"defense_strength": 0.1591,
"opponent_defense_weakness": 0.0598,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0111,
"run_prevention": 0.9891,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656945",
"profile": {
"available": true,
"pitcher_id": "656945",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 189.0,
"k_percent": 32.0,
"bb_percent": 5.6,
"woba": 0.241,
"xwoba": 0.272,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 33.6,
"avg_best_speed": 78.573,
"avg_hyper_speed": 93.373,
"whiff_percent": 35.7,
"swing_percent": 55.8
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.7613,
"command_and_miss": 1.32,
"regression_edge": -0.8857,
"xwoba_edge": 1.1429,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.5714,
"whiff_edge": 1.4714,
"bb_edge": 0.875,
"pitch_design_score": 0.1731
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656945",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.00653153515519,
"release_spin_rate": 2601.806505521005,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.00653153515519,
"release_spin_rate": 2601.806505521005,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0065,
"release_spin_rate": 2601.8065,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1731,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2365,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5253,
"sample_weight": 0.756,
"run_prevention_factor": 0.9554,
"strikeout_factor": 1.0868,
"walk_factor": 0.9471,
"homer_factor": 0.9608,
"woba_minus_xwoba": -0.031,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656945",
"espn_id": 35135,
"player_name": "Tanner Scott",
"team": "LAD",
"role": "pitcher",
"espn_rank": 82,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 82,
"gp_value": 55.0,
"gp_rank": 30,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.2792,
"era_rank": null,
"w_value": 1.0,
"w_rank": 381,
"l_value": 3.0,
"l_rank": 210,
"sv_value": 18.0,
"sv_rank": 15,
"hld_value": 12.0,
"hld_rank": 47,
"ip_value": 51.1,
"ip_rank": 246,
"h_value": 36.0,
"h_rank": 318,
"er_value": 13.0,
"er_rank": 412,
"hr_value": 4.0,
"hr_rank": 336,
"bb_value": 11.0,
"bb_rank": 428,
"k_value": 63.0,
"k_rank": 176,
"k_per_9_value": 11.045454,
"k_per_9_rank": 19.0,
"whip_value": 0.9155,
"whip_rank": null,
"war_value": 1.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9663,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9663,
"adjusted": 1
},
"predicted_BB": {
"original": 0.0,
"factor": 0.96,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9704,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0656,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 2,
"H": 8,
"BB": 5,
"SO": 8,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 1.5,
"K9": 8.307692307692308,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-19T00:00:00"
}{
"available": true,
"pitcher_id": "656945",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.00653153515519,
"release_spin_rate": 2601.806505521005,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 93.00653153515519,
"release_spin_rate": 2601.806505521005,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0065,
"release_spin_rate": 2601.8065,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1731,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2365,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 10.291,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.673,
"prior_weight": 0.327
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656945",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 55,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.4,
"Pitches": 14.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.8571,
"ER_per_IP": 0.21429,
"H_per_IP": 0.64286,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 2.0,
"H": 8.0,
"BB": 5.0,
"SO": 8.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 157.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.5,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.7
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.5,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.57692,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"season": {
"games": 55,
"totals": {
"IP": 51.1,
"ER": 13.0,
"R": 13.0,
"H": 36.0,
"BB": 11.0,
"SO": 63.0,
"HR": 4.0,
"BF": 197.0,
"Pitches": 763.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2364,
"R": 0.2364,
"H": 0.6545,
"BB": 0.2,
"SO": 1.1455,
"HR": 0.0727,
"BF": 3.5818,
"Pitches": 13.8727
},
"rates": {
"ERA": 2.2792,
"WHIP": 0.9156,
"ER_per_IP": 0.25325,
"H_per_IP": 0.7013,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.22727,
"HR_per_IP": 0.07792
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.317,
"predicted_H": 0.824,
"predicted_BB": 0.349,
"predicted_SO": 0.889,
"predicted_HR": 0.059,
"predicted_ERA": 2.855,
"predicted_WHIP": 1.1739
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4882,
"form_weight": 0.5118,
"form_reliability": 0.673,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.291,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.673,
"prior_weight": 0.327
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.317,
"final": 0.1623,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.824,
"final": 0.4218,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.349,
"final": 0.1786,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.889,
"final": 0.455,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.059,
"final": 0.0302,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.855,
"final": 2.855,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1739,
"final": 1.1739,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brock Stewart |
| Role | Middle Reliever (High Leverage) |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5742 |
| ESPN Rank | 289 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0692 |
| Avg Velo | 91.1515 |
| Avg Spin | 2351.8723 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.2979 |
| Season WHIP | 0.7021 |
| Role Avg IP | 1.0440 |
| Recent Avg IP | 1.2000 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 128,
"wins": 77,
"losses": 51,
"win_pct": 0.6016,
"runs_scored": 640.0,
"runs_allowed": 495.0,
"run_differential": 145.0,
"run_differential_per_game": 1.1328,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8672,
"offense_index": 1.1154,
"defense_index": 1.1591,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.2,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.2954
},
"opponent": {
"team": "PIT",
"games": 129,
"wins": 63,
"losses": 66,
"win_pct": 0.4884,
"runs_scored": 646.0,
"runs_allowed": 615.0,
"run_differential": 31.0,
"run_differential_per_game": 0.2403,
"avg_runs_scored": 5.0078,
"avg_runs_allowed": 4.7674,
"offense_index": 1.1172,
"defense_index": 0.9402,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.5,
"run_differential": 0.0
},
"available": true,
"quality_score": 0.0196
},
"edges": {
"quality_edge": 0.2758,
"offense_edge": 0.1154,
"opponent_offense_edge": 0.1172,
"defense_strength": 0.1591,
"opponent_defense_weakness": 0.0598,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0111,
"run_prevention": 0.9891,
"strikeout": 0.9989
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592779",
"profile": {
"available": true,
"pitcher_id": "592779",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 55.0,
"k_percent": 27.6,
"bb_percent": 8.6,
"woba": 0.199,
"xwoba": 0.214,
"sweet_spot_percent": 21.6,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 21.6,
"avg_best_speed": 68.3113,
"avg_hyper_speed": 91.7005,
"whiff_percent": 30.6,
"swing_percent": 48.7
},
"league_medians": {
"pa": 124.0,
"k_percent": 22.2,
"bb_percent": 9.1,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5142,
"avg_hyper_speed": 93.882,
"whiff_percent": 25.4,
"swing_percent": 47.5
},
"components": {
"contact_quality": 2.0517,
"command_and_miss": 0.6321,
"regression_edge": -0.4286,
"xwoba_edge": 2.5,
"barrel_edge": 0.9778,
"hard_hit_edge": 2.2857,
"whiff_edge": 0.7429,
"bb_edge": 0.125,
"pitch_design_score": 0.0692
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592779",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.1515463788401,
"release_spin_rate": 2351.872347849195,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.1515463788401,
"release_spin_rate": 2351.872347849195,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1515,
"release_spin_rate": 2351.8723,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0692,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4945,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.5742,
"sample_weight": 0.45,
"run_prevention_factor": 0.9512,
"strikeout_factor": 1.0273,
"walk_factor": 0.9955,
"homer_factor": 0.8899,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592779",
"espn_id": 35997,
"player_name": "Brock Stewart",
"team": "LAD",
"role": "pitcher",
"espn_rank": 289,
"espn_total_ranked": 821,
"metrics": {
"espn_rank": 289,
"gp_value": 15.0,
"gp_rank": 425,
"gs_value": 0.0,
"gs_rank": 344,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.2978,
"era_rank": null,
"w_value": 0.0,
"w_rank": 497,
"l_value": 1.0,
"l_rank": 392,
"sv_value": 1.0,
"sv_rank": 123,
"hld_value": 5.0,
"hld_rank": 155,
"ip_value": 15.2,
"ip_rank": 525,
"h_value": 6.0,
"h_rank": 665,
"er_value": 4.0,
"er_rank": 645,
"hr_value": 2.0,
"hr_rank": 480,
"bb_value": 5.0,
"bb_rank": 584,
"k_value": 16.0,
"k_rank": 496,
"k_per_9_value": 9.191489,
"k_per_9_rank": 25.0,
"whip_value": 0.7021,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.978,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.978,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9505,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0123,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 3,
"H": 4,
"BB": 2,
"SO": 11,
"HR": 1,
"ERA": 2.53125,
"WHIP": 0.5625,
"K9": 9.28125,
"HR9": 0.84375,
"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": "592779",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.1515463788401,
"release_spin_rate": 2351.872347849195,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 91.1515463788401,
"release_spin_rate": 2351.872347849195,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1515,
"release_spin_rate": 2351.8723,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0692,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4945,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 3.141,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3858,
"prior_weight": 0.6142
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "592779",
"report_date": "20260821",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.6
},
"rates": {
"ERA": 1.5,
"WHIP": 0.1667,
"ER_per_IP": 0.16667,
"H_per_IP": 0.16667,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 3.0,
"R": 4.0,
"H": 4.0,
"BB": 2.0,
"SO": 11.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.4,
"BB": 0.2,
"SO": 1.1,
"HR": 0.1,
"BF": 3.8,
"Pitches": 15.4
},
"rates": {
"ERA": 2.5312,
"WHIP": 0.5625,
"ER_per_IP": 0.28125,
"H_per_IP": 0.375,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 15,
"totals": {
"IP": 15.2,
"ER": 4.0,
"R": 5.0,
"H": 6.0,
"BB": 5.0,
"SO": 16.0,
"HR": 2.0,
"BF": 58.0,
"Pitches": 228.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2667,
"R": 0.3333,
"H": 0.4,
"BB": 0.3333,
"SO": 1.0667,
"HR": 0.1333,
"BF": 3.8667,
"Pitches": 15.2
},
"rates": {
"ERA": 2.2979,
"WHIP": 0.7021,
"ER_per_IP": 0.25532,
"H_per_IP": 0.38298,
"BB_per_IP": 0.31915,
"SO_per_IP": 1.02128,
"HR_per_IP": 0.12766
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.256,
"predicted_H": 0.458,
"predicted_BB": 0.178,
"predicted_SO": 0.633,
"predicted_HR": 0.073,
"predicted_ERA": 3.5499,
"predicted_WHIP": 0.9813
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6095,
"form_weight": 0.3905,
"form_reliability": 0.3858,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.141,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3858,
"prior_weight": 0.6142
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.256,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.458,
"final": 0.1788,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.178,
"final": 0.0695,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.633,
"final": 0.2472,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.073,
"final": 0.0285,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5499,
"final": 3.5499,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9813,
"final": 0.9813,
"source": "form_only"
}
}
}{
"available": false,
"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.197 | 0.000 | 0.000 | Hitting_2B | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.863 | 4.000 | 4.000 | Hitting_AB | 3.909 | 4.000 | 0.091 | 0.000 |
| predicted_AVG | 0.290 | 0.000 | 0.250 | Hitting_AVG | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_BB | 0.607 | 0.000 | 1.000 | Hitting_BB | 0.630 | 1.000 | -0.630 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 1.120 | 0.000 | 1.000 | Hitting_H | 1.150 | 0.000 | -1.150 | 0.000 |
| predicted_HR | 0.256 | 0.000 | 1.000 | Hitting_HR | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_OBP | 0.386 | 0.000 | 0.400 | Hitting_OBP | 0.394 | 0.200 | -0.394 | -0.200 |
| predicted_R | 0.692 | 0.000 | 1.000 | Hitting_R | 0.708 | 0.000 | -0.708 | 0.000 |
| predicted_RBI | 0.667 | 0.000 | 1.000 | Hitting_RBI | 0.702 | 0.000 | -0.702 | 0.000 |
| predicted_SLG | 0.553 | 0.000 | 1.000 | Hitting_SLG | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_SO | 1.060 | 1.000 | 1.000 | Hitting_SO | 1.078 | 2.000 | -0.078 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.8630 -> 4.0000 (boost 0.1370, better) |
| Biggest Deboost | predicted_H: 1.1200 -> 0.0000 (deboost -1.1200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_AB: 3.8630 -> 3.9334 (boost 0.0704, better) | predicted_BB: 0.6070 -> 0.5366 (deboost -0.0704, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5808 -> 0.5989 (boost 0.0181, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_BB: 0.5435 -> 1.0000 (boost 0.4565, better) | predicted_HR: 0.3006 -> 0.0000 (deboost -0.3006, worse) | AB rounded to 4 (raw=3.93), rates preserved: AVG=0.301 HR/AB=0.076 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7696 -> 1.0000 (boost 0.2304, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.197,
"predicted_3B": 0.026,
"predicted_AB": 3.863,
"predicted_AVG": 0.29,
"predicted_BB": 0.607,
"predicted_H": 1.12,
"predicted_HR": 0.256,
"predicted_OBP": 0.386,
"predicted_R": 0.692,
"predicted_RBI": 0.667,
"predicted_SLG": 0.553,
"predicted_SO": 1.06
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1822,
"predicted_3B": 0.0447,
"predicted_AB": 3.9334,
"predicted_AVG": 0.291,
"predicted_BB": 0.5366,
"predicted_H": 1.1443,
"predicted_HBP": 0.027,
"predicted_HR": 0.2908,
"predicted_OBP": 0.376,
"predicted_R": 0.7276,
"predicted_RBI": 0.7217,
"predicted_SLG": 0.5808,
"predicted_SO": 1.07
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.1822,
"delta": -0.0148,
"percent_delta": -0.0751,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0447,
"delta": 0.0187,
"percent_delta": 0.7192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.863,
"after": 3.9334,
"delta": 0.0704,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.291,
"delta": 0.001,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.607,
"after": 0.5366,
"delta": -0.0704,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1443,
"delta": 0.0243,
"percent_delta": 0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.256,
"after": 0.2908,
"delta": 0.0348,
"percent_delta": 0.1359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.386,
"after": 0.376,
"delta": -0.01,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.692,
"after": 0.7276,
"delta": 0.0356,
"percent_delta": 0.0514,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.667,
"after": 0.7217,
"delta": 0.0547,
"percent_delta": 0.082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.553,
"after": 0.5808,
"delta": 0.0278,
"percent_delta": 0.0503,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.06,
"after": 1.07,
"delta": 0.01,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.863,
"after": 3.9334,
"delta": 0.0704,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.607,
"after": 0.5366,
"delta": -0.0704,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 117
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1822,
"predicted_3B": 0.0447,
"predicted_AB": 3.9334,
"predicted_AVG": 0.3006,
"predicted_BB": 0.5435,
"predicted_H": 1.1825,
"predicted_HBP": 0.027,
"predicted_HR": 0.3006,
"predicted_OBP": 0.3855,
"predicted_R": 0.7696,
"predicted_RBI": 0.7633,
"predicted_SLG": 0.5989,
"predicted_SO": 1.0562
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1822,
"after": 0.1822,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0447,
"after": 0.0447,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9334,
"after": 3.9334,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.3006,
"delta": 0.0096,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5366,
"after": 0.5435,
"delta": 0.0069,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1443,
"after": 1.1825,
"delta": 0.0382,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2908,
"after": 0.3006,
"delta": 0.0098,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.376,
"after": 0.3855,
"delta": 0.0095,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7276,
"after": 0.7696,
"delta": 0.042,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7217,
"after": 0.7633,
"delta": 0.0416,
"percent_delta": 0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5808,
"after": 0.5989,
"delta": 0.0181,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.07,
"after": 1.0562,
"delta": -0.0138,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_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.5808,
"after": 0.5989,
"delta": 0.0181,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.93), rates preserved: AVG=0.301 HR/AB=0.076",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1822,
"after": 0.0,
"delta": -0.1822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0447,
"after": 0.0,
"delta": -0.0447,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9334,
"after": 4.0,
"delta": 0.0666,
"percent_delta": 0.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5435,
"after": 1.0,
"delta": 0.4565,
"percent_delta": 0.8399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1825,
"after": 1.0,
"delta": -0.1825,
"percent_delta": -0.1543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3006,
"after": 0.0,
"delta": -0.3006,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7633,
"after": 1.0,
"delta": 0.2367,
"percent_delta": 0.3101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0562,
"after": 1.0,
"delta": -0.0562,
"percent_delta": -0.0532,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5435,
"after": 1.0,
"delta": 0.4565,
"percent_delta": 0.8399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3006,
"after": 0.0,
"delta": -0.3006,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.7696,
"after": 1.0,
"delta": 0.2304,
"percent_delta": 0.2994,
"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.7696,
"after": 1.0,
"delta": 0.2304,
"percent_delta": 0.2994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_R": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"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.301,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.39,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.599,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3006,
"after": 0.301,
"delta": 0.0004,
"percent_delta": 0.0013,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3855,
"after": 0.39,
"delta": 0.0045,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5989,
"after": 0.599,
"delta": 0.0001,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_HR",
"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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.3006,
"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.3855,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5989,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.301,
"after": 0.3006,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.3855,
"delta": -0.0045,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.599,
"after": 0.5989,
"delta": -0.0001,
"percent_delta": -0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.0,
"delta": -0.197,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.863,
"after": 4.0,
"delta": 0.137,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.29,
"after": 0.3006,
"delta": 0.0106,
"percent_delta": 0.0366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.607,
"after": 0.0,
"delta": -0.607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 0.0,
"delta": -1.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.256,
"after": 0.0,
"delta": -0.256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.386,
"after": 0.3855,
"delta": -0.0005,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.692,
"after": 0.0,
"delta": -0.692,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.553,
"after": 0.5989,
"delta": 0.0459,
"percent_delta": 0.083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.863,
"after": 4.0,
"delta": 0.137,
"percent_delta": 0.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.12,
"after": 0.0,
"delta": -1.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.863 | - |
| predicted_AVG | 0.290 | - |
| predicted_BB | 0.607 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.256 | - |
| predicted_OBP | 0.386 | - |
| predicted_R | 0.692 | - |
| predicted_RBI | 0.667 | - |
| predicted_SLG | 0.553 | - |
| predicted_SO | 1.060 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | -0.015 |
| predicted_3B | 0.045 | 0.019 |
| predicted_AB | 3.933 | 0.070 |
| predicted_AVG | 0.291 | 0.001 |
| predicted_BB | 0.537 | -0.070 |
| predicted_H | 1.144 | 0.024 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.291 | 0.035 |
| predicted_OBP | 0.376 | -0.010 |
| predicted_R | 0.728 | 0.036 |
| predicted_RBI | 0.722 | 0.055 |
| predicted_SLG | 0.581 | 0.028 |
| predicted_SO | 1.070 | 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.182 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 3.933 | 0.000 |
| predicted_AVG | 0.301 | 0.010 |
| predicted_BB | 0.543 | 0.007 |
| predicted_H | 1.183 | 0.038 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.301 | 0.010 |
| predicted_OBP | 0.386 | 0.010 |
| predicted_R | 0.770 | 0.042 |
| predicted_RBI | 0.763 | 0.042 |
| predicted_SLG | 0.599 | 0.018 |
| predicted_SO | 1.056 | -0.014 |
AB rounded to 4 (raw=3.93), rates preserved: AVG=0.301 HR/AB=0.076
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 | 1.000 | 1.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.182 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 4.000 | 0.067 |
| predicted_AVG | 0.301 | 0.000 |
| predicted_BB | 1.000 | 0.457 |
| predicted_H | 1.000 | -0.183 |
| predicted_HR | 0.000 | -0.301 |
| predicted_OBP | 0.390 | 0.005 |
| predicted_R | 1.000 | 0.230 |
| predicted_RBI | 1.000 | 0.237 |
| predicted_SLG | 0.599 | 0.000 |
| predicted_SO | 1.000 | -0.056 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 7.000 | 0.000 | 1.000 | 3.000 | 6.000 | 5.000 | 1.000 | 6.000 | 0.3182 | 0.3478 | 0.8182 | 0.3182 | 0.1364 | 0.2727 | 0.0454 | 0.2727 |
| last_10 | 0.20 | 10 | - | 42.000 | 12.000 | 2.000 | 1.000 | 4.000 | 9.000 | 9.000 | 2.000 | 11.000 | 0.2857 | 0.3182 | 0.6667 | 0.2857 | 0.0952 | 0.2143 | 0.0476 | 0.2619 |
| season | 0.60 | 117 | - | 452.000 | 131.000 | 23.000 | 3.000 | 30.000 | 78.000 | 81.000 | 71.000 | 124.000 | 0.2898 | 0.3884 | 0.5531 | 0.2898 | 0.0664 | 0.1726 | 0.1571 | 0.2743 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1630 |
| predicted_3B | 0.0690 |
| predicted_AB | 4.0250 |
| predicted_AVG | 0.2922 |
| predicted_BB | 0.4450 |
| predicted_H | 1.1760 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.3360 |
| predicted_OBP | 0.3630 |
| predicted_R | 0.7740 |
| predicted_RBI | 0.7930 |
| predicted_SLG | 0.6171 |
| predicted_SO | 1.0830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1970 | 0.1630 | 0.1822 | model_form_blend |
| predicted_3B | 0.0260 | 0.0690 | 0.0447 | model_form_blend |
| predicted_AB | 3.8630 | 4.0250 | 3.9334 | model_form_blend |
| predicted_AVG | 0.2900 | 0.2922 | 0.2910 | model_form_blend |
| predicted_BB | 0.6070 | 0.4450 | 0.5366 | model_form_blend |
| predicted_H | 1.1200 | 1.1760 | 1.1443 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.2560 | 0.3360 | 0.2908 | model_form_blend |
| predicted_OBP | 0.3860 | 0.3630 | 0.3760 | model_form_blend |
| predicted_R | 0.6920 | 0.7740 | 0.7276 | model_form_blend |
| predicted_RBI | 0.6670 | 0.7930 | 0.7217 | model_form_blend |
| predicted_SLG | 0.5530 | 0.6171 | 0.5808 | model_form_blend |
| predicted_SO | 1.0600 | 1.0830 | 1.0700 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 541 |
| Season rows before report date | 541 |
| Report year | 2026 |
| Profile rows used | 117 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260819_LAD@COL |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.395 |
| sl_xwoba | 0.409 |
| sl_xba | 0.295 |
| sl_xslg | 0.58 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 16.7 |
| sl_hard_hit_percent | 52.5 |
| sl_exit_velocity_avg | 93.5 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 46.7 |
| at_bat_number | 72.0 |
| ab_pitcher | 605447.0 |
| ab_pitcher_name | Romano, Jordan |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.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 | 4.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 4.0 |
| ab_event | strikeout |
| ab_event_description | Shohei Ohtani 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 | 14.0 |
| ab_launch_speed_last | 53.0 |
| ab_launch_angle_last | -46.0 |
| ab_hit_distance_last | 1.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 | 4.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 84.06666666666666 |
| ab_release_spin_rate_avg | 2225.6666666666665 |
| ab_effective_speed_avg | 86.03333333333335 |
| ab_launch_speed_avg | 53.0 |
| ab_launch_angle_avg | -46.0 |
| ab_delta_run_exp_avg | -0.0873333333333333 |
| ab_delta_home_win_exp_avg | 0.0156666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0873333333333333 |
| ab_bat_speed_avg | 73.0 |
| ab_swing_length_avg | 8.833333333333334 |
| ab_launch_speed_max | 53.0 |
| ab_hit_distance_sc_max | 1.0 |
| ab_release_speed_max | 84.6 |
| ab_release_spin_rate_max | 2263.0 |
| ab_release_speed_min | 83.7 |
| ab_release_spin_rate_min | 2205.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | 0.047 |
| 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.192 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 5.890 | 4.000 | 6.000 | Hitting_AB | 3.980 | 5.000 | 0.020 | -1.000 |
| predicted_AVG | 0.230 | 0.500 | 0.167 | Hitting_AVG | 0.276 | 0.200 | 0.224 | 0.300 |
| predicted_BB | 0.360 | 0.000 | 0.000 | Hitting_BB | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_H | 1.350 | 2.000 | 1.000 | Hitting_H | 1.097 | 1.000 | 0.903 | 1.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_OBP | 0.315 | 0.500 | 0.167 | Hitting_OBP | 0.342 | 0.200 | 0.158 | 0.300 |
| predicted_R | 0.576 | 1.000 | 1.000 | Hitting_R | 0.630 | 1.000 | 0.370 | 0.000 |
| predicted_RBI | 0.740 | 0.000 | 1.000 | Hitting_RBI | 0.656 | 0.000 | -0.656 | 0.000 |
| predicted_SLG | 0.442 | 0.500 | 0.167 | Hitting_SLG | 0.465 | 0.200 | 0.035 | 0.300 |
| predicted_SO | 0.832 | 1.000 | 1.000 | Hitting_SO | 0.836 | 1.000 | 0.164 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_H: 1.3500 -> 2.0000 (boost 0.6500, better) |
| Biggest Deboost | predicted_AB: 5.8900 -> 4.0000 (deboost -1.8900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 3 | 4 | 4 | 3 | predicted_AVG: 0.2300 -> 0.2492 (boost 0.0192, better) | predicted_AB: 5.8900 -> 5.0567 (deboost -0.8333, worse) | Final model input calibrated with local 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.4489 -> 0.4183 (deboost -0.0306, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 5.0567 -> 6.0000 (boost 0.9433, better) | predicted_BB: 0.3690 -> 0.0000 (deboost -0.3690, worse) | AB rounded to 6 (raw=5.89), rates preserved: AVG=0.217 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6281 -> 1.0000 (boost 0.3719, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4183 -> 0.3590 (deboost -0.0593, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 6.0000 -> 4.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3590 -> 0.4183 (boost 0.0593, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.192,
"predicted_3B": 0.016,
"predicted_AB": 5.89,
"predicted_AVG": 0.23,
"predicted_BB": 0.36,
"predicted_H": 1.35,
"predicted_HR": 0.22,
"predicted_OBP": 0.315,
"predicted_R": 0.576,
"predicted_RBI": 0.74,
"predicted_SLG": 0.442,
"predicted_SO": 0.832
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0134,
"predicted_AB": 5.0567,
"predicted_AVG": 0.2492,
"predicted_BB": 0.3643,
"predicted_H": 1.2366,
"predicted_HBP": 0.025,
"predicted_HR": 0.2017,
"predicted_OBP": 0.325,
"predicted_R": 0.5938,
"predicted_RBI": 0.6683,
"predicted_SLG": 0.4489,
"predicted_SO": 0.7638
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.192,
"after": 0.185,
"delta": -0.007,
"percent_delta": -0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0134,
"delta": -0.0026,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.89,
"after": 5.0567,
"delta": -0.8333,
"percent_delta": -0.1415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2492,
"delta": 0.0192,
"percent_delta": 0.0835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 0.3643,
"delta": 0.0043,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.35,
"after": 1.2366,
"delta": -0.1134,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2017,
"delta": -0.0183,
"percent_delta": -0.0832,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.325,
"delta": 0.01,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.5938,
"delta": 0.0178,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.6683,
"delta": -0.0717,
"percent_delta": -0.0969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4489,
"delta": 0.0069,
"percent_delta": 0.0156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.832,
"after": 0.7638,
"delta": -0.0682,
"percent_delta": -0.082,
"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_AVG",
"before": 0.23,
"after": 0.2492,
"delta": 0.0192,
"percent_delta": 0.0835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.89,
"after": 5.0567,
"delta": -0.8333,
"percent_delta": -0.1415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 125
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0134,
"predicted_AB": 5.0567,
"predicted_AVG": 0.2527,
"predicted_BB": 0.369,
"predicted_H": 1.2779,
"predicted_HBP": 0.025,
"predicted_HR": 0.2085,
"predicted_OBP": 0.3035,
"predicted_R": 0.6281,
"predicted_RBI": 0.7069,
"predicted_SLG": 0.4183,
"predicted_SO": 0.7539
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.185,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0134,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0567,
"after": 5.0567,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2492,
"after": 0.2527,
"delta": 0.0035,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3643,
"after": 0.369,
"delta": 0.0047,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2366,
"after": 1.2779,
"delta": 0.0413,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2017,
"after": 0.2085,
"delta": 0.0068,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3035,
"delta": -0.0215,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5938,
"after": 0.6281,
"delta": 0.0343,
"percent_delta": 0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6683,
"after": 0.7069,
"delta": 0.0386,
"percent_delta": 0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4489,
"after": 0.4183,
"delta": -0.0306,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7638,
"after": 0.7539,
"delta": -0.0099,
"percent_delta": -0.013,
"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.4489,
"after": 0.4183,
"delta": -0.0306,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.89), rates preserved: AVG=0.217 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0134,
"after": 0.0,
"delta": -0.0134,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0567,
"after": 6.0,
"delta": 0.9433,
"percent_delta": 0.1865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.369,
"after": 0.0,
"delta": -0.369,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2779,
"after": 1.0,
"delta": -0.2779,
"percent_delta": -0.2175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2085,
"after": 0.0,
"delta": -0.2085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7069,
"after": 1.0,
"delta": 0.2931,
"percent_delta": 0.4146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7539,
"after": 1.0,
"delta": 0.2461,
"percent_delta": 0.3264,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 5.0567,
"after": 6.0,
"delta": 0.9433,
"percent_delta": 0.1865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.369,
"after": 0.0,
"delta": -0.369,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6281,
"after": 1.0,
"delta": 0.3719,
"percent_delta": 0.5921,
"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.6281,
"after": 1.0,
"delta": 0.3719,
"percent_delta": 0.5921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_AVG": 0.217,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.269,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.359,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2527,
"after": 0.217,
"delta": -0.0357,
"percent_delta": -0.1413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.269,
"delta": -0.0345,
"percent_delta": -0.1137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4183,
"after": 0.359,
"delta": -0.0593,
"percent_delta": -0.1418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4183,
"after": 0.359,
"delta": -0.0593,
"percent_delta": -0.1418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 6.0,
"after": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2527,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3035,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4183,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2527,
"delta": 0.0357,
"percent_delta": 0.1646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.269,
"after": 0.3035,
"delta": 0.0345,
"percent_delta": 0.1284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.359,
"after": 0.4183,
"delta": 0.0593,
"percent_delta": 0.1651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.359,
"after": 0.4183,
"delta": 0.0593,
"percent_delta": 0.1651,
"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.192,
"after": 0.0,
"delta": -0.192,
"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": 5.89,
"after": 4.0,
"delta": -1.89,
"percent_delta": -0.3209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2527,
"delta": 0.0227,
"percent_delta": 0.0987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.35,
"after": 2.0,
"delta": 0.65,
"percent_delta": 0.4815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3035,
"delta": -0.0115,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 1.0,
"delta": 0.424,
"percent_delta": 0.7361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4183,
"delta": -0.0237,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.832,
"after": 1.0,
"delta": 0.168,
"percent_delta": 0.2019,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.35,
"after": 2.0,
"delta": 0.65,
"percent_delta": 0.4815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.89,
"after": 4.0,
"delta": -1.89,
"percent_delta": -0.3209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 5.890 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.360 | - |
| predicted_H | 1.350 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.576 | - |
| predicted_RBI | 0.740 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.832 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | -0.007 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 5.057 | -0.833 |
| predicted_AVG | 0.249 | 0.019 |
| predicted_BB | 0.364 | 0.004 |
| predicted_H | 1.237 | -0.113 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.202 | -0.018 |
| predicted_OBP | 0.325 | 0.010 |
| predicted_R | 0.594 | 0.018 |
| predicted_RBI | 0.668 | -0.072 |
| predicted_SLG | 0.449 | 0.007 |
| predicted_SO | 0.764 | -0.068 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 5.057 | 0.000 |
| predicted_AVG | 0.253 | 0.003 |
| predicted_BB | 0.369 | 0.005 |
| predicted_H | 1.278 | 0.041 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.208 | 0.007 |
| predicted_OBP | 0.303 | -0.022 |
| predicted_R | 0.628 | 0.034 |
| predicted_RBI | 0.707 | 0.039 |
| predicted_SLG | 0.418 | -0.031 |
| predicted_SO | 0.754 | -0.010 |
AB rounded to 6 (raw=5.89), rates preserved: AVG=0.217 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 6.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.185 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 6.000 | 0.943 |
| predicted_AVG | 0.217 | -0.036 |
| predicted_BB | 0.000 | -0.369 |
| predicted_H | 1.000 | -0.278 |
| predicted_HR | 0.000 | -0.208 |
| predicted_OBP | 0.269 | -0.034 |
| predicted_R | 1.000 | 0.372 |
| predicted_RBI | 1.000 | 0.293 |
| predicted_SLG | 0.359 | -0.059 |
| predicted_SO | 1.000 | 0.246 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 2.000 | 0.2857 | 0.3478 | 0.4762 | 0.2857 | 0.0476 | 0.1429 | 0.0952 | 0.0952 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 1.000 | 0.000 | 2.000 | 4.000 | 6.000 | 4.000 | 4.000 | 0.2750 | 0.3409 | 0.4500 | 0.2750 | 0.0500 | 0.1000 | 0.1000 | 0.1000 |
| season | 0.60 | 125 | - | 488.000 | 133.000 | 24.000 | 2.000 | 21.000 | 79.000 | 72.000 | 45.000 | 104.000 | 0.2725 | 0.3370 | 0.4590 | 0.2725 | 0.0430 | 0.1619 | 0.0922 | 0.2131 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1760 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.9730 |
| predicted_AVG | 0.2742 |
| predicted_BB | 0.3700 |
| predicted_H | 1.0890 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1780 |
| predicted_OBP | 0.3381 |
| predicted_R | 0.6170 |
| predicted_RBI | 0.5750 |
| predicted_SLG | 0.4579 |
| predicted_SO | 0.6750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1920 | 0.1760 | 0.1850 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0134 | model_form_blend |
| predicted_AB | 5.8900 | 3.9730 | 5.0567 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2742 | 0.2492 | model_form_blend |
| predicted_BB | 0.3600 | 0.3700 | 0.3643 | model_form_blend |
| predicted_H | 1.3500 | 1.0890 | 1.2366 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.2200 | 0.1780 | 0.2017 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3381 | 0.3250 | model_form_blend |
| predicted_R | 0.5760 | 0.6170 | 0.5938 | model_form_blend |
| predicted_RBI | 0.7400 | 0.5750 | 0.6683 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4579 | 0.4489 | model_form_blend |
| predicted_SO | 0.8320 | 0.6750 | 0.7638 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 549 |
| Season rows before report date | 549 |
| Report year | 2026 |
| Profile rows used | 125 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260819_LAD@COL |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.346 |
| sl_xwoba | 0.34 |
| sl_xba | 0.273 |
| sl_xslg | 0.439 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 42.2 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 15.6 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 47.8 |
| at_bat_number | 73.0 |
| ab_pitcher | 605447.0 |
| ab_pitcher_name | Romano, Jordan |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.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 | 4.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Andy Pages flies out to right fielder Jordan Beck. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 74.9 |
| ab_launch_angle_last | 41.0 |
| ab_hit_distance_last | 250.0 |
| ab_estimated_ba_last | 0.189 |
| ab_estimated_woba_last | 0.203 |
| ab_estimated_slg_last | 0.269 |
| 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 | 4.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 88.75 |
| ab_release_spin_rate_avg | 2229.5 |
| ab_effective_speed_avg | 91.05 |
| ab_launch_speed_avg | 74.9 |
| ab_launch_angle_avg | 41.0 |
| ab_delta_run_exp_avg | -0.13 |
| ab_delta_home_win_exp_avg | 0.0169999999999999 |
| ab_delta_pitcher_run_exp_avg | 0.13 |
| ab_bat_speed_avg | 79.0 |
| ab_swing_length_avg | 8.0 |
| ab_launch_speed_max | 74.9 |
| ab_hit_distance_sc_max | 250.0 |
| ab_release_speed_max | 93.7 |
| ab_release_spin_rate_max | 2248.0 |
| ab_release_speed_min | 83.8 |
| ab_release_spin_rate_min | 2211.0 |
| ab_delta_run_exp_sum | -0.26 |
| ab_delta_home_win_exp_sum | 0.0339999999999999 |
| 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.157 | 0.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.930 | 4.000 | 5.000 | Hitting_AB | 4.101 | 5.000 | -0.101 | -1.000 |
| predicted_AVG | 0.240 | 0.250 | 0.200 | Hitting_AVG | 0.244 | 0.600 | 0.006 | -0.350 |
| predicted_BB | 0.258 | 0.000 | 0.000 | Hitting_BB | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 1.180 | 1.000 | 1.000 | Hitting_H | 1.000 | 3.000 | 0.000 | -2.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.196 | 1.000 | -0.196 | -1.000 |
| predicted_OBP | 0.291 | 0.250 | 0.200 | Hitting_OBP | 0.289 | 0.600 | -0.039 | -0.350 |
| predicted_R | 0.539 | 1.000 | 1.000 | Hitting_R | 0.603 | 2.000 | 0.397 | -1.000 |
| predicted_RBI | 0.670 | 2.000 | 1.000 | Hitting_RBI | 0.534 | 2.000 | 1.466 | 0.000 |
| predicted_SLG | 0.442 | 0.250 | 0.200 | Hitting_SLG | 0.425 | 1.200 | -0.175 | -0.950 |
| predicted_SO | 0.472 | 1.000 | 0.000 | Hitting_SO | 0.503 | 0.000 | 0.497 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_RBI: 0.6700 -> 2.0000 (boost 1.3300, better) |
| Biggest Deboost | predicted_AB: 4.9300 -> 4.0000 (deboost -0.9300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.9300 -> 4.5517 (deboost -0.3783, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2437 -> 0.2510 (boost 0.0073, better) | predicted_SLG: 0.4445 -> 0.4340 (deboost -0.0105, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.5517 -> 5.0000 (boost 0.4483, better) | predicted_SO: 0.4685 -> 0.0000 (deboost -0.4685, better) | AB rounded to 5 (raw=4.93), rates preserved: AVG=0.232 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5560 -> 1.0000 (boost 0.4440, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4340 -> 0.4090 (deboost -0.0250, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_RBI: 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.4090 -> 0.4340 (boost 0.0250, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 4.93,
"predicted_AVG": 0.24,
"predicted_BB": 0.258,
"predicted_H": 1.18,
"predicted_HR": 0.22,
"predicted_OBP": 0.291,
"predicted_R": 0.539,
"predicted_RBI": 0.67,
"predicted_SLG": 0.442,
"predicted_SO": 0.472
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1729,
"predicted_3B": 0.0004,
"predicted_AB": 4.5517,
"predicted_AVG": 0.2437,
"predicted_BB": 0.2276,
"predicted_H": 1.1055,
"predicted_HBP": 0.009,
"predicted_HR": 0.2127,
"predicted_OBP": 0.2874,
"predicted_R": 0.5257,
"predicted_RBI": 0.6417,
"predicted_SLG": 0.4445,
"predicted_SO": 0.4746
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1729,
"delta": 0.0159,
"percent_delta": 0.1013,
"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.93,
"after": 4.5517,
"delta": -0.3783,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2437,
"delta": 0.0037,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.2276,
"delta": -0.0304,
"percent_delta": -0.1178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.1055,
"delta": -0.0745,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2127,
"delta": -0.0073,
"percent_delta": -0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.2874,
"delta": -0.0036,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.539,
"after": 0.5257,
"delta": -0.0133,
"percent_delta": -0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.6417,
"delta": -0.0283,
"percent_delta": -0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4445,
"delta": 0.0025,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.472,
"after": 0.4746,
"delta": 0.0026,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.93,
"after": 4.5517,
"delta": -0.3783,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 89
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1729,
"predicted_3B": 0.0004,
"predicted_AB": 4.5517,
"predicted_AVG": 0.251,
"predicted_BB": 0.2305,
"predicted_H": 1.1424,
"predicted_HBP": 0.009,
"predicted_HR": 0.2198,
"predicted_OBP": 0.2871,
"predicted_R": 0.556,
"predicted_RBI": 0.6787,
"predicted_SLG": 0.434,
"predicted_SO": 0.4685
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1729,
"after": 0.1729,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5517,
"after": 4.5517,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2437,
"after": 0.251,
"delta": 0.0073,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2276,
"after": 0.2305,
"delta": 0.0029,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1055,
"after": 1.1424,
"delta": 0.0369,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2127,
"after": 0.2198,
"delta": 0.0071,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2874,
"after": 0.2871,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5257,
"after": 0.556,
"delta": 0.0303,
"percent_delta": 0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6417,
"after": 0.6787,
"delta": 0.037,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4445,
"after": 0.434,
"delta": -0.0105,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4746,
"after": 0.4685,
"delta": -0.0061,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2437,
"after": 0.251,
"delta": 0.0073,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4445,
"after": 0.434,
"delta": -0.0105,
"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 5 (raw=4.93), rates preserved: AVG=0.232 HR/AB=0.045",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1729,
"after": 0.0,
"delta": -0.1729,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5517,
"after": 5.0,
"delta": 0.4483,
"percent_delta": 0.0985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2305,
"after": 0.0,
"delta": -0.2305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1424,
"after": 1.0,
"delta": -0.1424,
"percent_delta": -0.1246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2198,
"after": 0.0,
"delta": -0.2198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6787,
"after": 1.0,
"delta": 0.3213,
"percent_delta": 0.4734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4685,
"after": 0.0,
"delta": -0.4685,
"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": 4.5517,
"after": 5.0,
"delta": 0.4483,
"percent_delta": 0.0985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4685,
"after": 0.0,
"delta": -0.4685,
"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": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.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": 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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"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.232,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.272,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.409,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.251,
"after": 0.232,
"delta": -0.019,
"percent_delta": -0.0757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2871,
"after": 0.272,
"delta": -0.0151,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.409,
"delta": -0.025,
"percent_delta": -0.0576,
"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.434,
"after": 0.409,
"delta": -0.025,
"percent_delta": -0.0576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.251,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2871,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.434,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.251,
"delta": 0.019,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2871,
"delta": 0.0151,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.409,
"after": 0.434,
"delta": 0.025,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.434,
"delta": 0.025,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.93,
"after": 4.0,
"delta": -0.93,
"percent_delta": -0.1886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.251,
"delta": 0.011,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.258,
"after": 0.0,
"delta": -0.258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.0,
"delta": -0.18,
"percent_delta": -0.1525,
"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.291,
"after": 0.2871,
"delta": -0.0039,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.539,
"after": 1.0,
"delta": 0.461,
"percent_delta": 0.8553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 2.0,
"delta": 1.33,
"percent_delta": 1.9851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.434,
"delta": -0.008,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.472,
"after": 1.0,
"delta": 0.528,
"percent_delta": 1.1186,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.67,
"after": 2.0,
"delta": 1.33,
"percent_delta": 1.9851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.93,
"after": 4.0,
"delta": -0.93,
"percent_delta": -0.1886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.930 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.258 | - |
| predicted_H | 1.180 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.539 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.472 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | 0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.552 | -0.378 |
| predicted_AVG | 0.244 | 0.004 |
| predicted_BB | 0.228 | -0.030 |
| predicted_H | 1.105 | -0.075 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.213 | -0.007 |
| predicted_OBP | 0.287 | -0.004 |
| predicted_R | 0.526 | -0.013 |
| predicted_RBI | 0.642 | -0.028 |
| predicted_SLG | 0.445 | 0.003 |
| predicted_SO | 0.475 | 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.173 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.552 | 0.000 |
| predicted_AVG | 0.251 | 0.007 |
| predicted_BB | 0.231 | 0.003 |
| predicted_H | 1.142 | 0.037 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.220 | 0.007 |
| predicted_OBP | 0.287 | -0.000 |
| predicted_R | 0.556 | 0.030 |
| predicted_RBI | 0.679 | 0.037 |
| predicted_SLG | 0.434 | -0.011 |
| predicted_SO | 0.469 | -0.006 |
AB rounded to 5 (raw=4.93), rates preserved: AVG=0.232 HR/AB=0.045
| 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 | 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 | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.173 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.448 |
| predicted_AVG | 0.232 | -0.019 |
| predicted_BB | 0.000 | -0.231 |
| predicted_H | 1.000 | -0.142 |
| predicted_HR | 0.000 | -0.220 |
| predicted_OBP | 0.272 | -0.015 |
| predicted_R | 1.000 | 0.444 |
| predicted_RBI | 1.000 | 0.321 |
| predicted_SLG | 0.409 | -0.025 |
| predicted_SO | 0.000 | -0.469 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 2.000 | 0.2174 | 0.2174 | 0.3913 | 0.2174 | 0.0435 | 0.1739 | 0.0000 | 0.0870 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 3.000 | 0.000 | 3.000 | 8.000 | 5.000 | 1.000 | 4.000 | 0.3077 | 0.3250 | 0.6154 | 0.3077 | 0.0769 | 0.2051 | 0.0256 | 0.1026 |
| season | 0.60 | 89 | - | 351.000 | 84.000 | 14.000 | 0.000 | 16.000 | 44.000 | 48.000 | 23.000 | 42.000 | 0.2393 | 0.2872 | 0.4160 | 0.2393 | 0.0456 | 0.1254 | 0.0655 | 0.1197 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0470 |
| predicted_AVG | 0.2486 |
| predicted_BB | 0.1870 |
| predicted_H | 1.0060 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2030 |
| predicted_OBP | 0.2826 |
| predicted_R | 0.5080 |
| predicted_RBI | 0.6040 |
| predicted_SLG | 0.4478 |
| predicted_SO | 0.4780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1940 | 0.1729 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.9300 | 4.0470 | 4.5517 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2486 | 0.2437 | model_form_blend |
| predicted_BB | 0.2580 | 0.1870 | 0.2276 | model_form_blend |
| predicted_H | 1.1800 | 1.0060 | 1.1055 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.2200 | 0.2030 | 0.2127 | model_form_blend |
| predicted_OBP | 0.2910 | 0.2826 | 0.2874 | model_form_blend |
| predicted_R | 0.5390 | 0.5080 | 0.5257 | model_form_blend |
| predicted_RBI | 0.6700 | 0.6040 | 0.6417 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4478 | 0.4445 | model_form_blend |
| predicted_SO | 0.4720 | 0.4780 | 0.4746 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 378 |
| Season rows before report date | 378 |
| Report year | 2026 |
| Profile rows used | 89 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260819_LAD@COL |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 11.5 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.305 |
| sl_xwoba | 0.327 |
| sl_xba | 0.274 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 38.3 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 18.5 |
| sl_whiff_percent | 12.5 |
| sl_swing_percent | 42.5 |
| at_bat_number | 80.0 |
| ab_pitcher | 623474.0 |
| ab_pitcher_name | Herget, Jimmy |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 606192.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 4.0 |
| ab_event | single |
| ab_event_description | Mookie Betts singles on a line drive to center fielder Cole Carrigg. Teoscar Hernández scores. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 94.5 |
| ab_launch_angle_last | 9.0 |
| ab_hit_distance_last | 181.0 |
| ab_estimated_ba_last | 0.611 |
| ab_estimated_woba_last | 0.579 |
| ab_estimated_slg_last | 0.717 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 84.0 |
| ab_release_spin_rate_avg | 2770.75 |
| ab_effective_speed_avg | 82.95 |
| ab_launch_speed_avg | 91.35 |
| ab_launch_angle_avg | 16.5 |
| ab_delta_run_exp_avg | 0.13625 |
| ab_delta_home_win_exp_avg | -0.039 |
| ab_delta_pitcher_run_exp_avg | -0.13625 |
| ab_bat_speed_avg | 69.9 |
| ab_swing_length_avg | 7.05 |
| ab_launch_speed_max | 94.5 |
| ab_hit_distance_sc_max | 277.0 |
| ab_release_speed_max | 86.6 |
| ab_release_spin_rate_max | 3049.0 |
| ab_release_speed_min | 78.3 |
| ab_release_spin_rate_min | 2563.0 |
| ab_delta_run_exp_sum | 0.545 |
| ab_delta_home_win_exp_sum | -0.156 |
| ab_delta_pitcher_run_exp_sum | -0.545 |
| 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.147 | 1.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | 0.850 | 1.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.293 | 3.000 | 3.000 | Hitting_AB | 3.533 | 1.000 | -0.533 | 2.000 |
| predicted_AVG | 0.187 | 0.667 | 0.333 | Hitting_AVG | 0.260 | 0.000 | 0.407 | 0.667 |
| predicted_BB | 0.422 | 0.000 | 0.000 | Hitting_BB | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.270 | 2.000 | 1.000 | Hitting_H | 0.918 | 0.000 | 1.082 | 2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.241 | 0.000 | -0.241 | 0.000 |
| predicted_OBP | 0.285 | 0.750 | 0.333 | Hitting_OBP | 0.352 | 0.000 | 0.398 | 0.750 |
| predicted_R | 0.560 | 1.000 | 1.000 | Hitting_R | 0.636 | 0.000 | 0.364 | 1.000 |
| predicted_RBI | 0.350 | 1.000 | 1.000 | Hitting_RBI | 0.624 | 0.000 | 0.376 | 1.000 |
| predicted_SLG | 0.480 | 1.000 | 0.333 | Hitting_SLG | 0.514 | 0.000 | 0.486 | 1.000 |
| predicted_SO | 0.966 | 0.000 | 1.000 | Hitting_SO | 1.016 | 0.000 | -1.016 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.2700 -> 2.0000 (boost 1.7300, better) |
| Biggest Deboost | predicted_SO: 0.9660 -> 0.0000 (deboost -0.9660, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_H: 0.2700 -> 0.5166 (boost 0.2466, 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.5138 -> 0.3869 (deboost -0.1269, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.5627 -> 1.0000 (boost 0.4373, better) | predicted_H: 0.5339 -> 0.0000 (deboost -0.5339, worse) | AB rounded to 3 (raw=3.29), rates preserved: AVG=0.162 HR/AB=0.058 |
| 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 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 0 | 0 | 0 | 0 | 0 | - | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 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 | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571970",
"player_name": "Max Muncy",
"position": "3B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.009,
"predicted_AB": 3.293,
"predicted_AVG": 0.187,
"predicted_BB": 0.422,
"predicted_H": 0.27,
"predicted_HR": 0.12,
"predicted_OBP": 0.285,
"predicted_R": 0.56,
"predicted_RBI": 0.35,
"predicted_SLG": 0.48,
"predicted_SO": 0.966
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1388,
"predicted_3B": 0.0077,
"predicted_AB": 3.2516,
"predicted_AVG": 0.2199,
"predicted_BB": 0.3991,
"predicted_H": 0.5166,
"predicted_HBP": 0.04,
"predicted_HR": 0.1838,
"predicted_OBP": 0.3089,
"predicted_R": 0.5505,
"predicted_RBI": 0.532,
"predicted_SLG": 0.5138,
"predicted_SO": 0.9181
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1388,
"delta": -0.0082,
"percent_delta": -0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0077,
"delta": -0.0013,
"percent_delta": -0.1444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.293,
"after": 3.2516,
"delta": -0.0414,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.187,
"after": 0.2199,
"delta": 0.0329,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.422,
"after": 0.3991,
"delta": -0.0229,
"percent_delta": -0.0543,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.5166,
"delta": 0.2466,
"percent_delta": 0.9133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1838,
"delta": 0.0638,
"percent_delta": 0.5317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.3089,
"delta": 0.0239,
"percent_delta": 0.0839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.56,
"after": 0.5505,
"delta": -0.0095,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.532,
"delta": 0.182,
"percent_delta": 0.52,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.5138,
"delta": 0.0338,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.966,
"after": 0.9181,
"delta": -0.0479,
"percent_delta": -0.0496,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.27,
"after": 0.5166,
"delta": 0.2466,
"percent_delta": 0.9133,
"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": 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.1388,
"predicted_3B": 0.0077,
"predicted_AB": 3.2516,
"predicted_AVG": 0.1642,
"predicted_BB": 0.4042,
"predicted_H": 0.5339,
"predicted_HBP": 0.04,
"predicted_HR": 0.19,
"predicted_OBP": 0.2566,
"predicted_R": 0.5823,
"predicted_RBI": 0.5627,
"predicted_SLG": 0.3869,
"predicted_SO": 0.9063
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1388,
"after": 0.1388,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2516,
"after": 3.2516,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2199,
"after": 0.1642,
"delta": -0.0557,
"percent_delta": -0.2533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3991,
"after": 0.4042,
"delta": 0.0051,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5166,
"after": 0.5339,
"delta": 0.0173,
"percent_delta": 0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.04,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1838,
"after": 0.19,
"delta": 0.0062,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3089,
"after": 0.2566,
"delta": -0.0523,
"percent_delta": -0.1693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5505,
"after": 0.5823,
"delta": 0.0318,
"percent_delta": 0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.532,
"after": 0.5627,
"delta": 0.0307,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5138,
"after": 0.3869,
"delta": -0.1269,
"percent_delta": -0.247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9181,
"after": 0.9063,
"delta": -0.0118,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5138,
"after": 0.3869,
"delta": -0.1269,
"percent_delta": -0.247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.29), rates preserved: AVG=0.162 HR/AB=0.058",
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1388,
"after": 0.0,
"delta": -0.1388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0,
"delta": -0.0077,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2516,
"after": 3.0,
"delta": -0.2516,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4042,
"after": 0.0,
"delta": -0.4042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5339,
"after": 0.0,
"delta": -0.5339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9063,
"after": 1.0,
"delta": 0.0937,
"percent_delta": 0.1034,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5627,
"after": 1.0,
"delta": 0.4373,
"percent_delta": 0.7771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5339,
"after": 0.0,
"delta": -0.5339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 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.5823,
"after": 1.0,
"delta": 0.4177,
"percent_delta": 0.7173,
"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": 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": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": {},
"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.162,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.259,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.382,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1642,
"after": 0.162,
"delta": -0.0022,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2566,
"after": 0.259,
"delta": 0.0024,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3869,
"after": 0.382,
"delta": -0.0049,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1642,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2566,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3869,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.162,
"after": 0.1642,
"delta": 0.0022,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2566,
"delta": -0.0024,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3869,
"delta": 0.0049,
"percent_delta": 0.0128,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 1.0,
"delta": 0.853,
"percent_delta": 5.8027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.293,
"after": 3.0,
"delta": -0.293,
"percent_delta": -0.089,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.187,
"after": 0.1642,
"delta": -0.0228,
"percent_delta": -0.1219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.422,
"after": 0.0,
"delta": -0.422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 2.0,
"delta": 1.73,
"percent_delta": 6.4074,
"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.285,
"after": 0.2566,
"delta": -0.0284,
"percent_delta": -0.0996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.3869,
"delta": -0.0931,
"percent_delta": -0.194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.966,
"after": 0.0,
"delta": -0.966,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.27,
"after": 2.0,
"delta": 1.73,
"percent_delta": 6.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.966,
"after": 0.0,
"delta": -0.966,
"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.147 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.293 | - |
| predicted_AVG | 0.187 | - |
| predicted_BB | 0.422 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.560 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.480 | - |
| predicted_SO | 0.966 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | -0.008 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.252 | -0.041 |
| predicted_AVG | 0.220 | 0.033 |
| predicted_BB | 0.399 | -0.023 |
| predicted_H | 0.517 | 0.247 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.184 | 0.064 |
| predicted_OBP | 0.309 | 0.024 |
| predicted_R | 0.550 | -0.010 |
| predicted_RBI | 0.532 | 0.182 |
| predicted_SLG | 0.514 | 0.034 |
| predicted_SO | 0.918 | -0.048 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.252 | 0.000 |
| predicted_AVG | 0.164 | -0.056 |
| predicted_BB | 0.404 | 0.005 |
| predicted_H | 0.534 | 0.017 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.190 | 0.006 |
| predicted_OBP | 0.257 | -0.052 |
| predicted_R | 0.582 | 0.032 |
| predicted_RBI | 0.563 | 0.031 |
| predicted_SLG | 0.387 | -0.127 |
| predicted_SO | 0.906 | -0.012 |
AB rounded to 3 (raw=3.29), rates preserved: AVG=0.162 HR/AB=0.058
| 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 | 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 | 1.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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.139 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 3.000 | -0.252 |
| predicted_AVG | 0.162 | -0.002 |
| predicted_BB | 0.000 | -0.404 |
| predicted_H | 1.000 | 0.466 |
| predicted_HR | 0.000 | -0.190 |
| predicted_OBP | 0.259 | 0.002 |
| predicted_R | 1.000 | 0.418 |
| predicted_RBI | 1.000 | 0.437 |
| predicted_SLG | 0.382 | -0.005 |
| predicted_SO | 1.000 | 0.094 |
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 | 2.000 | 1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 2.000 | 3.000 | 0.2857 | 0.3529 | 0.7143 | 0.2857 | 0.1429 | 0.3571 | 0.1429 | 0.2143 |
| last_10 | 0.20 | 10 | - | 31.000 | 9.000 | 2.000 | 0.000 | 3.000 | 12.000 | 4.000 | 2.000 | 8.000 | 0.2903 | 0.3429 | 0.6452 | 0.2903 | 0.0968 | 0.3871 | 0.0645 | 0.2581 |
| season | 0.60 | 116 | - | 382.000 | 95.000 | 17.000 | 1.000 | 25.000 | 64.000 | 65.000 | 49.000 | 112.000 | 0.2487 | 0.3394 | 0.4948 | 0.2487 | 0.0654 | 0.1675 | 0.1283 | 0.2932 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1280 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.1970 |
| predicted_AVG | 0.2634 |
| predicted_BB | 0.3690 |
| predicted_H | 0.8420 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.2680 |
| predicted_OBP | 0.3404 |
| predicted_R | 0.5380 |
| predicted_RBI | 0.7720 |
| predicted_SLG | 0.5584 |
| predicted_SO | 0.8550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.1280 | 0.1388 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 3.2930 | 3.1970 | 3.2516 | model_form_blend |
| predicted_AVG | 0.1870 | 0.2634 | 0.2199 | model_form_blend |
| predicted_BB | 0.4220 | 0.3690 | 0.3991 | model_form_blend |
| predicted_H | 0.2700 | 0.8420 | 0.5166 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.1200 | 0.2680 | 0.1838 | model_form_blend |
| predicted_OBP | 0.2850 | 0.3404 | 0.3089 | model_form_blend |
| predicted_R | 0.5600 | 0.5380 | 0.5505 | model_form_blend |
| predicted_RBI | 0.3500 | 0.7720 | 0.5320 | model_form_blend |
| predicted_SLG | 0.4800 | 0.5584 | 0.5138 | model_form_blend |
| predicted_SO | 0.9660 | 0.8550 | 0.9181 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260819_LAD@COL |
| game_type | ph |
| mlbID | 571970 |
| note | Flied out for Rortvedt in the 9th. |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.362 |
| sl_xwoba | 0.349 |
| sl_xba | 0.24 |
| sl_xslg | 0.479 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 45.5 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 45.4 |
| at_bat_number | 71.0 |
| ab_pitcher | 605447.0 |
| ab_pitcher_name | Romano, Jordan |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.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 | 4.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Max Muncy flies out to center fielder Cole Carrigg. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 97.4 |
| ab_launch_angle_last | 43.0 |
| ab_hit_distance_last | 379.0 |
| ab_estimated_ba_last | 0.029 |
| ab_estimated_woba_last | 0.05 |
| ab_estimated_slg_last | 0.094 |
| 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 | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 82.76666666666667 |
| ab_release_spin_rate_avg | 2166.333333333333 |
| ab_effective_speed_avg | 84.60000000000001 |
| ab_launch_speed_avg | 97.4 |
| ab_launch_angle_avg | 43.0 |
| ab_delta_run_exp_avg | -0.0863333333333333 |
| ab_delta_home_win_exp_avg | 0.0193333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0863333333333333 |
| ab_bat_speed_avg | 72.7 |
| ab_swing_length_avg | 6.8 |
| ab_launch_speed_max | 97.4 |
| ab_hit_distance_sc_max | 379.0 |
| ab_release_speed_max | 83.3 |
| ab_release_spin_rate_max | 2208.0 |
| ab_release_speed_min | 82.4 |
| ab_release_spin_rate_min | 2119.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | 0.058 |
| 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.244 | 0.000 | 1.000 | Hitting_2B | 0.254 | 1.000 | -0.254 | -1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 4.380 | 3.000 | 4.000 | Hitting_AB | 3.816 | 4.000 | -0.816 | -1.000 |
| predicted_AVG | 0.283 | 0.333 | 0.250 | Hitting_AVG | 0.304 | 0.250 | 0.029 | 0.083 |
| predicted_BB | 0.447 | 1.000 | 1.000 | Hitting_BB | 0.489 | 0.000 | 0.511 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.240 | 1.000 | 1.000 | Hitting_H | 1.161 | 1.000 | -0.161 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_OBP | 0.345 | 0.500 | 0.400 | Hitting_OBP | 0.384 | 0.200 | 0.116 | 0.300 |
| predicted_R | 0.504 | 0.000 | 0.000 | Hitting_R | 0.538 | 0.000 | -0.538 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.519 | 1.000 | -0.519 | -1.000 |
| predicted_SLG | 0.442 | 0.333 | 0.500 | Hitting_SLG | 0.470 | 0.500 | -0.137 | -0.167 |
| predicted_SO | 0.691 | 0.000 | 0.000 | Hitting_SO | 0.714 | 3.000 | -0.714 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4470 -> 1.0000 (boost 0.5530, better) |
| Biggest Deboost | predicted_AB: 4.3800 -> 3.0000 (deboost -1.3800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2830 -> 0.2899 (boost 0.0069, better) | predicted_AB: 4.3800 -> 4.1294 (deboost -0.2506, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3491 -> 0.3645 (boost 0.0154, better) | predicted_SLG: 0.4435 -> 0.4281 (deboost -0.0154, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.6227 -> 1.0000 (boost 0.3773, better) | predicted_BB: 0.4250 -> 0.0000 (deboost -0.4250, worse) | AB rounded to 4 (raw=4.38), rates preserved: AVG=0.282 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5409 -> 1.0000 (boost 0.4591, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 4 | 2 | 2 | 3 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 7 | 2 | 5 | 1 | 6 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4040 -> 0.4281 (boost 0.0241, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.244,
"predicted_3B": 0.008,
"predicted_AB": 4.38,
"predicted_AVG": 0.283,
"predicted_BB": 0.447,
"predicted_H": 1.24,
"predicted_HR": 0.08,
"predicted_OBP": 0.345,
"predicted_R": 0.504,
"predicted_RBI": 0.61,
"predicted_SLG": 0.442,
"predicted_SO": 0.691
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2753,
"predicted_3B": 0.0067,
"predicted_AB": 4.1294,
"predicted_AVG": 0.2899,
"predicted_BB": 0.4196,
"predicted_H": 1.1953,
"predicted_HBP": 0.016,
"predicted_HR": 0.0787,
"predicted_OBP": 0.3491,
"predicted_R": 0.5114,
"predicted_RBI": 0.5887,
"predicted_SLG": 0.4435,
"predicted_SO": 0.7366
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.244,
"after": 0.2753,
"delta": 0.0313,
"percent_delta": 0.1283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0067,
"delta": -0.0013,
"percent_delta": -0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1294,
"delta": -0.2506,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2899,
"delta": 0.0069,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.447,
"after": 0.4196,
"delta": -0.0274,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.24,
"after": 1.1953,
"delta": -0.0447,
"percent_delta": -0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0787,
"delta": -0.0013,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3491,
"delta": 0.0041,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.504,
"after": 0.5114,
"delta": 0.0074,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.5887,
"delta": -0.0213,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4435,
"delta": 0.0015,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.691,
"after": 0.7366,
"delta": 0.0456,
"percent_delta": 0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2899,
"delta": 0.0069,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 4.1294,
"delta": -0.2506,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 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.2753,
"predicted_3B": 0.0067,
"predicted_AB": 4.1294,
"predicted_AVG": 0.2991,
"predicted_BB": 0.425,
"predicted_H": 1.2352,
"predicted_HBP": 0.016,
"predicted_HR": 0.0813,
"predicted_OBP": 0.3645,
"predicted_R": 0.5409,
"predicted_RBI": 0.6227,
"predicted_SLG": 0.4281,
"predicted_SO": 0.7271
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2753,
"after": 0.2753,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1294,
"after": 4.1294,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2899,
"after": 0.2991,
"delta": 0.0092,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4196,
"after": 0.425,
"delta": 0.0054,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1953,
"after": 1.2352,
"delta": 0.0399,
"percent_delta": 0.0334,
"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.0787,
"after": 0.0813,
"delta": 0.0026,
"percent_delta": 0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3491,
"after": 0.3645,
"delta": 0.0154,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5114,
"after": 0.5409,
"delta": 0.0295,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5887,
"after": 0.6227,
"delta": 0.034,
"percent_delta": 0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4435,
"after": 0.4281,
"delta": -0.0154,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7366,
"after": 0.7271,
"delta": -0.0095,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_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.3491,
"after": 0.3645,
"delta": 0.0154,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4435,
"after": 0.4281,
"delta": -0.0154,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.38), rates preserved: AVG=0.282 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2753,
"after": 0.0,
"delta": -0.2753,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0067,
"after": 0.0,
"delta": -0.0067,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1294,
"after": 4.0,
"delta": -0.1294,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.425,
"after": 0.0,
"delta": -0.425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2352,
"after": 1.0,
"delta": -0.2352,
"percent_delta": -0.1904,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0813,
"after": 0.0,
"delta": -0.0813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6227,
"after": 1.0,
"delta": 0.3773,
"percent_delta": 0.6059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7271,
"after": 1.0,
"delta": 0.2729,
"percent_delta": 0.3753,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6227,
"after": 1.0,
"delta": 0.3773,
"percent_delta": 0.6059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.425,
"after": 0.0,
"delta": -0.425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5409,
"after": 1.0,
"delta": 0.4591,
"percent_delta": 0.8488,
"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.5409,
"after": 1.0,
"delta": 0.4591,
"percent_delta": 0.8488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.282,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.351,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.404,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2991,
"after": 0.282,
"delta": -0.0171,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3645,
"after": 0.351,
"delta": -0.0135,
"percent_delta": -0.037,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4281,
"after": 0.404,
"delta": -0.0241,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2991,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3645,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4281,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2991,
"delta": 0.0171,
"percent_delta": 0.0607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3645,
"delta": 0.0135,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4281,
"delta": 0.0241,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.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.404,
"after": 0.4281,
"delta": 0.0241,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.244,
"after": 0.0,
"delta": -0.244,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.38,
"after": 3.0,
"delta": -1.38,
"percent_delta": -0.3151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.283,
"after": 0.2991,
"delta": 0.0161,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.447,
"after": 1.0,
"delta": 0.553,
"percent_delta": 1.2371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.24,
"after": 1.0,
"delta": -0.24,
"percent_delta": -0.1935,
"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.345,
"after": 0.3645,
"delta": 0.0195,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.504,
"after": 0.0,
"delta": -0.504,
"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.442,
"after": 0.4281,
"delta": -0.0139,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.691,
"after": 0.0,
"delta": -0.691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.447,
"after": 1.0,
"delta": 0.553,
"percent_delta": 1.2371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.38,
"after": 3.0,
"delta": -1.38,
"percent_delta": -0.3151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.244 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 4.380 | - |
| predicted_AVG | 0.283 | - |
| predicted_BB | 0.447 | - |
| predicted_H | 1.240 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.504 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.691 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.275 | 0.031 |
| predicted_3B | 0.007 | -0.001 |
| predicted_AB | 4.129 | -0.251 |
| predicted_AVG | 0.290 | 0.007 |
| predicted_BB | 0.420 | -0.027 |
| predicted_H | 1.195 | -0.045 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.079 | -0.001 |
| predicted_OBP | 0.349 | 0.004 |
| predicted_R | 0.511 | 0.007 |
| predicted_RBI | 0.589 | -0.021 |
| predicted_SLG | 0.444 | 0.002 |
| predicted_SO | 0.737 | 0.046 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.275 | 0.000 |
| predicted_3B | 0.007 | 0.000 |
| predicted_AB | 4.129 | 0.000 |
| predicted_AVG | 0.299 | 0.009 |
| predicted_BB | 0.425 | 0.005 |
| predicted_H | 1.235 | 0.040 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.081 | 0.003 |
| predicted_OBP | 0.364 | 0.015 |
| predicted_R | 0.541 | 0.030 |
| predicted_RBI | 0.623 | 0.034 |
| predicted_SLG | 0.428 | -0.015 |
| predicted_SO | 0.727 | -0.010 |
AB rounded to 4 (raw=4.38), rates preserved: AVG=0.282 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.000 | -1.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.275 |
| predicted_3B | 0.000 | -0.007 |
| predicted_AB | 4.000 | -0.129 |
| predicted_AVG | 0.282 | -0.017 |
| predicted_BB | 0.000 | -0.425 |
| predicted_H | 1.000 | -0.235 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.351 | -0.014 |
| predicted_R | 1.000 | 0.459 |
| predicted_RBI | 1.000 | 0.377 |
| predicted_SLG | 0.404 | -0.024 |
| predicted_SO | 1.000 | 0.273 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 3.000 | 0.000 | 0.000 | 4.000 | 3.000 | 1.000 | 5.000 | 0.3000 | 0.3043 | 0.4500 | 0.3000 | 0.0000 | 0.2000 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 3.000 | 0.000 | 0.000 | 6.000 | 5.000 | 4.000 | 9.000 | 0.2973 | 0.3488 | 0.3784 | 0.2973 | 0.0000 | 0.1622 | 0.1081 | 0.2432 |
| season | 0.60 | 123 | - | 464.000 | 141.000 | 30.000 | 1.000 | 15.000 | 59.000 | 62.000 | 55.000 | 85.000 | 0.3039 | 0.3776 | 0.4698 | 0.3039 | 0.0323 | 0.1272 | 0.1185 | 0.1832 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3160 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.8030 |
| predicted_AVG | 0.2989 |
| predicted_BB | 0.3840 |
| predicted_H | 1.1370 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.3544 |
| predicted_R | 0.5210 |
| predicted_RBI | 0.5610 |
| predicted_SLG | 0.4454 |
| predicted_SO | 0.7960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2440 | 0.3160 | 0.2753 | model_form_blend |
| predicted_3B | 0.0080 | 0.0050 | 0.0067 | model_form_blend |
| predicted_AB | 4.3800 | 3.8030 | 4.1294 | model_form_blend |
| predicted_AVG | 0.2830 | 0.2989 | 0.2899 | model_form_blend |
| predicted_BB | 0.4470 | 0.3840 | 0.4196 | model_form_blend |
| predicted_H | 1.2400 | 1.1370 | 1.1953 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0800 | 0.0770 | 0.0787 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3544 | 0.3491 | model_form_blend |
| predicted_R | 0.5040 | 0.5210 | 0.5114 | model_form_blend |
| predicted_RBI | 0.6100 | 0.5610 | 0.5887 | model_form_blend |
| predicted_SLG | 0.4420 | 0.4454 | 0.4435 | model_form_blend |
| predicted_SO | 0.6910 | 0.7960 | 0.7366 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 528 |
| Season rows before report date | 528 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 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 | 1 |
| Hitting_SO | 3 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260819_LAD@COL |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.367 |
| sl_xwoba | 0.374 |
| sl_xba | 0.299 |
| sl_xslg | 0.486 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 50.5 |
| at_bat_number | 79.0 |
| ab_pitcher | 623474.0 |
| ab_pitcher_name | Herget, Jimmy |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_1b_start | 606192.0 |
| ab_on_3b_start | 681624.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 4.0 |
| ab_event | sac_fly |
| ab_event_description | Freddie Freeman out on a sacrifice fly to left fielder Jake McCarthy. Andy Pages scores. Teoscar Hernández to 2nd. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 93.2 |
| ab_launch_angle_last | 31.0 |
| ab_hit_distance_last | 348.0 |
| ab_estimated_woba_last | 0.165 |
| 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 | 4.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 5.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 87.0 |
| ab_release_spin_rate_avg | 2652.25 |
| ab_effective_speed_avg | 85.7 |
| ab_launch_speed_avg | 93.2 |
| ab_launch_angle_avg | 31.0 |
| ab_delta_run_exp_avg | -0.05675 |
| ab_delta_home_win_exp_avg | -0.0075 |
| ab_delta_pitcher_run_exp_avg | 0.05675 |
| ab_bat_speed_avg | 71.7 |
| ab_swing_length_avg | 6.55 |
| ab_launch_speed_max | 93.2 |
| ab_hit_distance_sc_max | 348.0 |
| ab_release_speed_max | 92.3 |
| ab_release_spin_rate_max | 3013.0 |
| ab_release_speed_min | 78.0 |
| ab_release_spin_rate_min | 2454.0 |
| ab_delta_run_exp_sum | -0.227 |
| ab_delta_home_win_exp_sum | -0.03 |
| ab_delta_pitcher_run_exp_sum | 0.227 |
| 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.170 | 0.000 | 1.000 | Hitting_2B | 0.173 | 2.000 | -0.173 | -2.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_AB | 3.900 | 4.000 | 4.000 | Hitting_AB | 3.618 | 4.000 | 0.382 | 0.000 |
| predicted_AVG | 0.267 | 0.000 | 0.250 | Hitting_AVG | 0.279 | 0.500 | -0.279 | -0.500 |
| predicted_BB | 0.234 | 0.000 | 0.000 | Hitting_BB | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 1.040 | 0.000 | 1.000 | Hitting_H | 1.010 | 2.000 | -1.010 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.317 | 0.000 | 0.250 | Hitting_OBP | 0.347 | 0.500 | -0.347 | -0.500 |
| predicted_R | 0.468 | 0.000 | 0.000 | Hitting_R | 0.503 | 1.000 | -0.503 | -1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.508 | 0.000 | -0.508 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_SLG | 0.438 | 0.000 | 0.500 | Hitting_SLG | 0.440 | 1.000 | -0.440 | -1.000 |
| predicted_SO | 0.787 | 3.000 | 1.000 | Hitting_SO | 0.791 | 0.000 | 2.209 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.7870 -> 3.0000 (boost 2.2130, worse) |
| Biggest Deboost | predicted_H: 1.0400 -> 0.0000 (deboost -1.0400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 3.9000 -> 3.7607 (deboost -0.1393, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2620 -> 0.2707 (boost 0.0087, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 3.7607 -> 4.0000 (boost 0.2393, better) | predicted_RBI: 0.4007 -> 0.0000 (deboost -0.4007, worse) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.261 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5093 -> 1.0000 (boost 0.4907, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 2 | 1 | 1 | 1 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 5 | 1 | 4 | 1 | 4 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 3.0000 (boost 2.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.4210 -> 0.4365 (boost 0.0155, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669242",
"player_name": "Tommy Edman",
"position": "2B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.17,
"predicted_3B": 0.043,
"predicted_AB": 3.9,
"predicted_AVG": 0.267,
"predicted_BB": 0.234,
"predicted_H": 1.04,
"predicted_HR": 0.12,
"predicted_OBP": 0.317,
"predicted_R": 0.468,
"predicted_RBI": 0.4,
"predicted_SLG": 0.438,
"predicted_SO": 0.787
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1888,
"predicted_3B": 0.0352,
"predicted_AB": 3.7607,
"predicted_AVG": 0.262,
"predicted_BB": 0.2307,
"predicted_H": 0.9852,
"predicted_HBP": 0.111,
"predicted_HR": 0.1175,
"predicted_OBP": 0.318,
"predicted_R": 0.4815,
"predicted_RBI": 0.3788,
"predicted_SLG": 0.4326,
"predicted_SO": 0.7715
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.1888,
"delta": 0.0188,
"percent_delta": 0.1106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0352,
"delta": -0.0078,
"percent_delta": -0.1814,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 3.7607,
"delta": -0.1393,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.262,
"delta": -0.005,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 0.2307,
"delta": -0.0033,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.9852,
"delta": -0.0548,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1175,
"delta": -0.0025,
"percent_delta": -0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.318,
"delta": 0.001,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.4815,
"delta": 0.0135,
"percent_delta": 0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3788,
"delta": -0.0212,
"percent_delta": -0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4326,
"delta": -0.0054,
"percent_delta": -0.0123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 0.7715,
"delta": -0.0155,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 3.7607,
"delta": -0.1393,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 47
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1888,
"predicted_3B": 0.0352,
"predicted_AB": 3.7607,
"predicted_AVG": 0.2707,
"predicted_BB": 0.2337,
"predicted_H": 1.0181,
"predicted_HBP": 0.111,
"predicted_HR": 0.1214,
"predicted_OBP": 0.3134,
"predicted_R": 0.5093,
"predicted_RBI": 0.4007,
"predicted_SLG": 0.4365,
"predicted_SO": 0.7615
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1888,
"after": 0.1888,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0352,
"after": 0.0352,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7607,
"after": 3.7607,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2707,
"delta": 0.0087,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2307,
"after": 0.2337,
"delta": 0.003,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9852,
"after": 1.0181,
"delta": 0.0329,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.111,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1175,
"after": 0.1214,
"delta": 0.0039,
"percent_delta": 0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3134,
"delta": -0.0046,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4815,
"after": 0.5093,
"delta": 0.0278,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3788,
"after": 0.4007,
"delta": 0.0219,
"percent_delta": 0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4326,
"after": 0.4365,
"delta": 0.0039,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7715,
"after": 0.7615,
"delta": -0.01,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2707,
"delta": 0.0087,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.90), rates preserved: AVG=0.261 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1888,
"after": 0.0,
"delta": -0.1888,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0352,
"after": 0.0,
"delta": -0.0352,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7607,
"after": 4.0,
"delta": 0.2393,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2337,
"after": 0.0,
"delta": -0.2337,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0181,
"after": 1.0,
"delta": -0.0181,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1214,
"after": 0.0,
"delta": -0.1214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4007,
"after": 0.0,
"delta": -0.4007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7615,
"after": 1.0,
"delta": 0.2385,
"percent_delta": 0.3132,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7607,
"after": 4.0,
"delta": 0.2393,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4007,
"after": 0.0,
"delta": -0.4007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.5093,
"after": 1.0,
"delta": 0.4907,
"percent_delta": 0.9635,
"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.5093,
"after": 1.0,
"delta": 0.4907,
"percent_delta": 0.9635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.261,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.421,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2707,
"after": 0.261,
"delta": -0.0097,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3134,
"after": 0.308,
"delta": -0.0054,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4365,
"after": 0.421,
"delta": -0.0155,
"percent_delta": -0.0355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 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": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2707,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3134,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4365,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2707,
"delta": 0.0097,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3134,
"delta": 0.0054,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4365,
"delta": 0.0155,
"percent_delta": 0.0369,
"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.421,
"after": 0.4365,
"delta": 0.0155,
"percent_delta": 0.0369,
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2707,
"delta": 0.0037,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 1.04,
"after": 0.0,
"delta": -1.04,
"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.317,
"after": 0.3134,
"delta": -0.0036,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.468,
"after": 0.0,
"delta": -0.468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4365,
"delta": -0.0015,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 3.0,
"delta": 2.213,
"percent_delta": 2.8119,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.787,
"after": 3.0,
"delta": 2.213,
"percent_delta": 2.8119,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.234 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.468 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 0.787 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | 0.019 |
| predicted_3B | 0.035 | -0.008 |
| predicted_AB | 3.761 | -0.139 |
| predicted_AVG | 0.262 | -0.005 |
| predicted_BB | 0.231 | -0.003 |
| predicted_H | 0.985 | -0.055 |
| predicted_HBP | 0.111 | - |
| predicted_HR | 0.117 | -0.003 |
| predicted_OBP | 0.318 | 0.001 |
| predicted_R | 0.481 | 0.013 |
| predicted_RBI | 0.379 | -0.021 |
| predicted_SLG | 0.433 | -0.005 |
| predicted_SO | 0.771 | -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.189 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 3.761 | 0.000 |
| predicted_AVG | 0.271 | 0.009 |
| predicted_BB | 0.234 | 0.003 |
| predicted_H | 1.018 | 0.033 |
| predicted_HBP | 0.111 | 0.000 |
| predicted_HR | 0.121 | 0.004 |
| predicted_OBP | 0.313 | -0.005 |
| predicted_R | 0.509 | 0.028 |
| predicted_RBI | 0.401 | 0.022 |
| predicted_SLG | 0.436 | 0.004 |
| predicted_SO | 0.761 | -0.010 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.261 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| 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 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.189 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 4.000 | 0.239 |
| predicted_AVG | 0.261 | -0.010 |
| predicted_BB | 0.000 | -0.234 |
| predicted_H | 1.000 | -0.018 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.308 | -0.005 |
| predicted_R | 1.000 | 0.491 |
| predicted_RBI | 0.000 | -0.401 |
| predicted_SLG | 0.421 | -0.016 |
| predicted_SO | 1.000 | 0.239 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 2.000 | 0.000 | 1.000 | 1.000 | 3.000 | 1.000 | 3.000 | 0.2778 | 0.3500 | 0.5556 | 0.2778 | 0.0556 | 0.0556 | 0.0556 | 0.1667 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 2.000 | 0.000 | 1.000 | 1.000 | 5.000 | 2.000 | 7.000 | 0.2059 | 0.2703 | 0.3529 | 0.2059 | 0.0294 | 0.0294 | 0.0588 | 0.2059 |
| season | 0.60 | 47 | - | 166.000 | 44.000 | 8.000 | 2.000 | 4.000 | 21.000 | 22.000 | 11.000 | 37.000 | 0.2651 | 0.3297 | 0.4096 | 0.2651 | 0.0241 | 0.1265 | 0.0663 | 0.2229 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.5590 |
| predicted_AVG | 0.2547 |
| predicted_BB | 0.2260 |
| predicted_H | 0.9060 |
| predicted_HBP | 0.1110 |
| predicted_HR | 0.1140 |
| predicted_OBP | 0.3195 |
| predicted_R | 0.5010 |
| predicted_RBI | 0.3480 |
| predicted_SLG | 0.4247 |
| predicted_SO | 0.7490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.2160 | 0.1888 | model_form_blend |
| predicted_3B | 0.0430 | 0.0240 | 0.0352 | model_form_blend |
| predicted_AB | 3.9000 | 3.5590 | 3.7607 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2547 | 0.2620 | model_form_blend |
| predicted_BB | 0.2340 | 0.2260 | 0.2307 | model_form_blend |
| predicted_H | 1.0400 | 0.9060 | 0.9852 | model_form_blend |
| predicted_HBP | - | 0.1110 | 0.1110 | form_only |
| predicted_HR | 0.1200 | 0.1140 | 0.1175 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3195 | 0.3180 | model_form_blend |
| predicted_R | 0.4680 | 0.5010 | 0.4815 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3480 | 0.3788 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4247 | 0.4326 | model_form_blend |
| predicted_SO | 0.7870 | 0.7490 | 0.7715 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 191 |
| Season rows before report date | 191 |
| Report year | 2026 |
| Profile rows used | 47 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 669242 |
| playerID | 669242 |
| playerName | Tommy Edman |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| game_pk | 824319.0 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.333 |
| sl_xwoba | 0.315 |
| sl_xba | 0.262 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 35.8 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 20.5 |
| sl_swing_percent | 48.4 |
| at_bat_number | 59.0 |
| ab_pitcher | 623474.0 |
| ab_pitcher_name | Herget, Jimmy |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.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 | 4.0 |
| ab_away_score_start | 7.0 |
| ab_bat_score_start | 7.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Tommy Edman lines out sharply to second baseman Connor Norby. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 100.3 |
| ab_launch_angle_last | 8.0 |
| ab_hit_distance_last | 175.0 |
| ab_estimated_ba_last | 0.62 |
| ab_estimated_woba_last | 0.582 |
| ab_estimated_slg_last | 0.714 |
| 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 | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 7.0 |
| ab_bat_score_end | 7.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 84.89999999999999 |
| ab_release_spin_rate_avg | 2659.6666666666665 |
| ab_effective_speed_avg | 83.56666666666666 |
| ab_launch_speed_avg | 100.3 |
| ab_launch_angle_avg | 8.0 |
| ab_delta_run_exp_avg | -0.0873333333333333 |
| ab_delta_home_win_exp_avg | 0.0023333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0873333333333333 |
| ab_bat_speed_avg | 71.5 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 100.3 |
| ab_hit_distance_sc_max | 175.0 |
| ab_release_speed_max | 91.2 |
| ab_release_spin_rate_max | 2956.0 |
| ab_release_speed_min | 77.2 |
| ab_release_spin_rate_min | 2474.0 |
| ab_delta_run_exp_sum | -0.262 |
| ab_delta_home_win_exp_sum | 0.007 |
| 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.162 | 1.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 4.350 | 4.000 | 4.000 | Hitting_AB | 3.723 | 5.000 | 0.277 | -1.000 |
| predicted_AVG | 0.180 | 0.250 | 0.250 | Hitting_AVG | 0.239 | 0.400 | 0.011 | -0.150 |
| predicted_BB | 0.462 | 0.000 | 1.000 | Hitting_BB | 0.503 | 0.000 | -0.503 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.780 | 1.000 | 1.000 | Hitting_H | 0.888 | 2.000 | 0.112 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_OBP | 0.253 | 0.250 | 0.400 | Hitting_OBP | 0.330 | 0.400 | -0.080 | -0.150 |
| predicted_R | 0.573 | 1.000 | 1.000 | Hitting_R | 0.621 | 1.000 | 0.379 | 0.000 |
| predicted_RBI | 0.410 | 1.000 | 0.000 | Hitting_RBI | 0.501 | 0.000 | 0.499 | 1.000 |
| predicted_SLG | 0.360 | 0.500 | 0.250 | Hitting_SLG | 0.381 | 0.400 | 0.119 | 0.100 |
| predicted_SO | 0.778 | 1.000 | 1.000 | Hitting_SO | 0.794 | 1.000 | 0.206 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1620 -> 1.0000 (boost 0.8380, better) |
| Biggest Deboost | predicted_BB: 0.4620 -> 0.0000 (deboost -0.4620, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.1800 -> 0.1856 (boost 0.0056, better) | predicted_AB: 4.3500 -> 4.0890 (deboost -0.2610, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2556 -> 0.2656 (boost 0.0100, better) | predicted_SLG: 0.3358 -> 0.3127 (deboost -0.0231, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7804 -> 1.0000 (boost 0.2196, worse) | predicted_RBI: 0.4176 -> 0.0000 (deboost -0.4176, worse) | AB rounded to 4 (raw=4.35), rates preserved: AVG=0.179 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5763 -> 1.0000 (boost 0.4237, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 4 | 0 | 4 | 0 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2940 -> 0.3127 (boost 0.0187, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663656",
"player_name": "Kyle Tucker",
"position": "RF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.026,
"predicted_AB": 4.35,
"predicted_AVG": 0.18,
"predicted_BB": 0.462,
"predicted_H": 0.78,
"predicted_HR": 0.11,
"predicted_OBP": 0.253,
"predicted_R": 0.573,
"predicted_RBI": 0.41,
"predicted_SLG": 0.36,
"predicted_SO": 0.778
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1603,
"predicted_3B": 0.0299,
"predicted_AB": 4.089,
"predicted_AVG": 0.1856,
"predicted_BB": 0.4105,
"predicted_H": 0.7553,
"predicted_HBP": 0.017,
"predicted_HR": 0.0897,
"predicted_OBP": 0.2556,
"predicted_R": 0.5449,
"predicted_RBI": 0.3948,
"predicted_SLG": 0.3358,
"predicted_SO": 0.7906
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1603,
"delta": -0.0017,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0299,
"delta": 0.0039,
"percent_delta": 0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 4.089,
"delta": -0.261,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.18,
"after": 0.1856,
"delta": 0.0056,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.462,
"after": 0.4105,
"delta": -0.0515,
"percent_delta": -0.1115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7553,
"delta": -0.0247,
"percent_delta": -0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0897,
"delta": -0.0203,
"percent_delta": -0.1845,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2556,
"delta": 0.0026,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 0.5449,
"delta": -0.0281,
"percent_delta": -0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3948,
"delta": -0.0152,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3358,
"delta": -0.0242,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.7906,
"delta": 0.0126,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.18,
"after": 0.1856,
"delta": 0.0056,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 4.089,
"delta": -0.261,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 117
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1603,
"predicted_3B": 0.0299,
"predicted_AB": 4.089,
"predicted_AVG": 0.1909,
"predicted_BB": 0.4158,
"predicted_H": 0.7805,
"predicted_HBP": 0.017,
"predicted_HR": 0.0927,
"predicted_OBP": 0.2656,
"predicted_R": 0.5763,
"predicted_RBI": 0.4176,
"predicted_SLG": 0.3127,
"predicted_SO": 0.7804
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1603,
"after": 0.1603,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0299,
"after": 0.0299,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.089,
"after": 4.089,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1856,
"after": 0.1909,
"delta": 0.0053,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4105,
"after": 0.4158,
"delta": 0.0053,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7553,
"after": 0.7805,
"delta": 0.0252,
"percent_delta": 0.0334,
"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.0897,
"after": 0.0927,
"delta": 0.003,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2556,
"after": 0.2656,
"delta": 0.01,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5449,
"after": 0.5763,
"delta": 0.0314,
"percent_delta": 0.0576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3948,
"after": 0.4176,
"delta": 0.0228,
"percent_delta": 0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3358,
"after": 0.3127,
"delta": -0.0231,
"percent_delta": -0.0688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7906,
"after": 0.7804,
"delta": -0.0102,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_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.2556,
"after": 0.2656,
"delta": 0.01,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3358,
"after": 0.3127,
"delta": -0.0231,
"percent_delta": -0.0688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.35), rates preserved: AVG=0.179 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1603,
"after": 0.0,
"delta": -0.1603,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0299,
"after": 0.0,
"delta": -0.0299,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.089,
"after": 4.0,
"delta": -0.089,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4158,
"after": 0.0,
"delta": -0.4158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7805,
"after": 1.0,
"delta": 0.2195,
"percent_delta": 0.2812,
"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.0927,
"after": 0.0,
"delta": -0.0927,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4176,
"after": 0.0,
"delta": -0.4176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7804,
"after": 1.0,
"delta": 0.2196,
"percent_delta": 0.2814,
"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.7804,
"after": 1.0,
"delta": 0.2196,
"percent_delta": 0.2814,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4176,
"after": 0.0,
"delta": -0.4176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5763,
"after": 1.0,
"delta": 0.4237,
"percent_delta": 0.7352,
"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.5763,
"after": 1.0,
"delta": 0.4237,
"percent_delta": 0.7352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.179,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.257,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.294,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1909,
"after": 0.179,
"delta": -0.0119,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2656,
"after": 0.257,
"delta": -0.0086,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3127,
"after": 0.294,
"delta": -0.0187,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1909,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2656,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3127,
"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.179,
"after": 0.1909,
"delta": 0.0119,
"percent_delta": 0.0664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2656,
"delta": 0.0086,
"percent_delta": 0.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.294,
"after": 0.3127,
"delta": 0.0187,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.294,
"after": 0.3127,
"delta": 0.0187,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 1.0,
"delta": 0.838,
"percent_delta": 5.1728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 4.0,
"delta": -0.35,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.18,
"after": 0.1909,
"delta": 0.0109,
"percent_delta": 0.0606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 1.0,
"delta": 0.22,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2656,
"delta": 0.0126,
"percent_delta": 0.0498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.573,
"after": 1.0,
"delta": 0.427,
"percent_delta": 0.7452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3127,
"delta": -0.0473,
"percent_delta": -0.1314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 1.0,
"delta": 0.222,
"percent_delta": 0.2853,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.162,
"after": 1.0,
"delta": 0.838,
"percent_delta": 5.1728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 4.350 | - |
| predicted_AVG | 0.180 | - |
| predicted_BB | 0.462 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.253 | - |
| predicted_R | 0.573 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.360 | - |
| predicted_SO | 0.778 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | -0.002 |
| predicted_3B | 0.030 | 0.004 |
| predicted_AB | 4.089 | -0.261 |
| predicted_AVG | 0.186 | 0.006 |
| predicted_BB | 0.410 | -0.052 |
| predicted_H | 0.755 | -0.025 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.090 | -0.020 |
| predicted_OBP | 0.256 | 0.003 |
| predicted_R | 0.545 | -0.028 |
| predicted_RBI | 0.395 | -0.015 |
| predicted_SLG | 0.336 | -0.024 |
| predicted_SO | 0.791 | 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.160 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 4.089 | 0.000 |
| predicted_AVG | 0.191 | 0.005 |
| predicted_BB | 0.416 | 0.005 |
| predicted_H | 0.780 | 0.025 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.093 | 0.003 |
| predicted_OBP | 0.266 | 0.010 |
| predicted_R | 0.576 | 0.031 |
| predicted_RBI | 0.418 | 0.023 |
| predicted_SLG | 0.313 | -0.023 |
| predicted_SO | 0.780 | -0.010 |
AB rounded to 4 (raw=4.35), rates preserved: AVG=0.179 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.030 |
| predicted_AB | 4.000 | -0.089 |
| predicted_AVG | 0.179 | -0.012 |
| predicted_BB | 0.000 | -0.416 |
| predicted_H | 1.000 | 0.220 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.257 | -0.009 |
| predicted_R | 1.000 | 0.424 |
| predicted_RBI | 0.000 | -0.418 |
| predicted_SLG | 0.294 | -0.019 |
| predicted_SO | 1.000 | 0.220 |
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 | 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 | - | 21.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 5.000 | 0.1429 | 0.1429 | 0.1905 | 0.1429 | 0.0000 | 0.0476 | 0.0000 | 0.2381 |
| last_10 | 0.20 | 10 | - | 37.000 | 4.000 | 1.000 | 1.000 | 0.000 | 2.000 | 4.000 | 3.000 | 7.000 | 0.1081 | 0.1750 | 0.1892 | 0.1081 | 0.0000 | 0.0541 | 0.0811 | 0.1892 |
| season | 0.60 | 117 | - | 422.000 | 98.000 | 19.000 | 3.000 | 11.000 | 55.000 | 67.000 | 54.000 | 91.000 | 0.2322 | 0.3209 | 0.3697 | 0.2322 | 0.0261 | 0.1303 | 0.1280 | 0.2156 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1580 |
| predicted_3B | 0.0350 |
| predicted_AB | 3.7470 |
| predicted_AVG | 0.1929 |
| predicted_BB | 0.3430 |
| predicted_H | 0.7230 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.2590 |
| predicted_R | 0.5080 |
| predicted_RBI | 0.3750 |
| predicted_SLG | 0.3042 |
| predicted_SO | 0.8070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.1580 | 0.1603 | model_form_blend |
| predicted_3B | 0.0260 | 0.0350 | 0.0299 | model_form_blend |
| predicted_AB | 4.3500 | 3.7470 | 4.0890 | model_form_blend |
| predicted_AVG | 0.1800 | 0.1929 | 0.1856 | model_form_blend |
| predicted_BB | 0.4620 | 0.3430 | 0.4105 | model_form_blend |
| predicted_H | 0.7800 | 0.7230 | 0.7553 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1100 | 0.0630 | 0.0897 | model_form_blend |
| predicted_OBP | 0.2530 | 0.2590 | 0.2556 | model_form_blend |
| predicted_R | 0.5730 | 0.5080 | 0.5449 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3750 | 0.3948 | model_form_blend |
| predicted_SLG | 0.3600 | 0.3042 | 0.3358 | model_form_blend |
| predicted_SO | 0.7780 | 0.8070 | 0.7906 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 491 |
| Season rows before report date | 491 |
| Report year | 2026 |
| Profile rows used | 117 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 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_LAD@COL |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.31 |
| sl_xwoba | 0.327 |
| sl_xba | 0.256 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 22.4 |
| sl_swing_percent | 48.9 |
| at_bat_number | 82.0 |
| ab_pitcher | 657514.0 |
| ab_pitcher_name | Bernardino, Brennan |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 605141.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Kyle Tucker lines out to right fielder Jordan Beck. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 96.1 |
| ab_launch_angle_last | 21.0 |
| ab_hit_distance_last | 320.0 |
| ab_estimated_ba_last | 0.231 |
| ab_estimated_woba_last | 0.292 |
| ab_estimated_slg_last | 0.47 |
| 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 | 4.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 86.58333333333333 |
| ab_release_spin_rate_avg | 2397.333333333333 |
| ab_effective_speed_avg | 85.60000000000001 |
| ab_launch_speed_avg | 83.3 |
| ab_launch_angle_avg | -1.5 |
| ab_delta_run_exp_avg | -0.046 |
| ab_delta_home_win_exp_avg | 0.003 |
| ab_delta_pitcher_run_exp_avg | 0.046 |
| ab_bat_speed_avg | 58.3 |
| ab_swing_length_avg | 6.2 |
| ab_launch_speed_max | 96.1 |
| ab_hit_distance_sc_max | 320.0 |
| ab_release_speed_max | 90.7 |
| ab_release_spin_rate_max | 2581.0 |
| ab_release_speed_min | 78.8 |
| ab_release_spin_rate_min | 2231.0 |
| ab_delta_run_exp_sum | -0.276 |
| ab_delta_home_win_exp_sum | 0.018 |
| ab_delta_pitcher_run_exp_sum | 0.276 |
| 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.119 | 0.000 | 0.000 | Hitting_2B | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.507 | 2.000 | 3.000 | Hitting_AB | 2.529 | 0.000 | -0.529 | 2.000 |
| predicted_AVG | 0.329 | 0.000 | 0.333 | Hitting_AVG | 0.186 | - | -0.186 | - |
| predicted_BB | 0.239 | 1.000 | 0.000 | Hitting_BB | 0.441 | 0.000 | 0.559 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.270 | 0.000 | 1.000 | Hitting_H | 0.471 | 0.000 | -0.471 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.332 | 0.333 | 0.333 | Hitting_OBP | 0.307 | - | 0.026 | - |
| predicted_R | 0.284 | 0.000 | 0.000 | Hitting_R | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_SLG | 0.355 | 0.000 | 0.333 | Hitting_SLG | 0.326 | - | -0.326 | - |
| predicted_SO | 0.701 | 0.000 | 1.000 | Hitting_SO | 0.324 | 0.000 | -0.324 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2390 -> 1.0000 (boost 0.7610, better) |
| Biggest Deboost | predicted_SO: 0.7010 -> 0.0000 (deboost -0.7010, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 2 | 3 | predicted_H: 0.2700 -> 0.4047 (boost 0.1347, better) | predicted_AVG: 0.3290 -> 0.2869 (deboost -0.0421, worse) | Final model input calibrated with local form: 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.2869 -> 0.1630 (deboost -0.1239, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_AB: 2.5655 -> 3.0000 (boost 0.4345, better) | predicted_H: 0.4182 -> 0.0000 (deboost -0.4182, worse) | AB rounded to 3 (raw=2.57), rates preserved: AVG=0.163 HR/AB=0.019 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3147 -> 0.0000 (deboost -0.3147, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 0 | 0 | 0 | 0 | 0 | - | - | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 0 | predicted_OBP: 0.2471 -> 0.2530 (boost 0.0059, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2530 -> 0.2471 (deboost -0.0059, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"position": "C",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.119,
"predicted_3B": 0.015,
"predicted_AB": 2.507,
"predicted_AVG": 0.329,
"predicted_BB": 0.239,
"predicted_H": 0.27,
"predicted_HR": 0.04,
"predicted_OBP": 0.332,
"predicted_R": 0.284,
"predicted_RBI": 0.12,
"predicted_SLG": 0.355,
"predicted_SO": 0.701
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.112,
"predicted_3B": 0.013,
"predicted_AB": 2.5655,
"predicted_AVG": 0.2869,
"predicted_BB": 0.2828,
"predicted_H": 0.4047,
"predicted_HBP": 0.011,
"predicted_HR": 0.0465,
"predicted_OBP": 0.3258,
"predicted_R": 0.2975,
"predicted_RBI": 0.1376,
"predicted_SLG": 0.347,
"predicted_SO": 0.6588
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.112,
"delta": -0.007,
"percent_delta": -0.0588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.013,
"delta": -0.002,
"percent_delta": -0.1333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.507,
"after": 2.5655,
"delta": 0.0585,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.329,
"after": 0.2869,
"delta": -0.0421,
"percent_delta": -0.128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.239,
"after": 0.2828,
"delta": 0.0438,
"percent_delta": 0.1833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.4047,
"delta": 0.1347,
"percent_delta": 0.4989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0465,
"delta": 0.0065,
"percent_delta": 0.1625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3258,
"delta": -0.0062,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.284,
"after": 0.2975,
"delta": 0.0135,
"percent_delta": 0.0475,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.1376,
"delta": 0.0176,
"percent_delta": 0.1467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.347,
"delta": -0.008,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.701,
"after": 0.6588,
"delta": -0.0422,
"percent_delta": -0.0602,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.27,
"after": 0.4047,
"delta": 0.1347,
"percent_delta": 0.4989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.329,
"after": 0.2869,
"delta": -0.0421,
"percent_delta": -0.128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.112,
"predicted_3B": 0.013,
"predicted_AB": 2.5655,
"predicted_AVG": 0.163,
"predicted_BB": 0.2864,
"predicted_H": 0.4182,
"predicted_HBP": 0.011,
"predicted_HR": 0.0481,
"predicted_OBP": 0.2471,
"predicted_R": 0.3147,
"predicted_RBI": 0.1455,
"predicted_SLG": 0.273,
"predicted_SO": 0.6503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.112,
"after": 0.112,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5655,
"after": 2.5655,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2869,
"after": 0.163,
"delta": -0.1239,
"percent_delta": -0.4319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2828,
"after": 0.2864,
"delta": 0.0036,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4047,
"after": 0.4182,
"delta": 0.0135,
"percent_delta": 0.0334,
"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.0465,
"after": 0.0481,
"delta": 0.0016,
"percent_delta": 0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3258,
"after": 0.2471,
"delta": -0.0787,
"percent_delta": -0.2416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2975,
"after": 0.3147,
"delta": 0.0172,
"percent_delta": 0.0578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1376,
"after": 0.1455,
"delta": 0.0079,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.347,
"after": 0.273,
"delta": -0.074,
"percent_delta": -0.2133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6588,
"after": 0.6503,
"delta": -0.0085,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2869,
"after": 0.163,
"delta": -0.1239,
"percent_delta": -0.4319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.57), rates preserved: AVG=0.163 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.112,
"after": 0.0,
"delta": -0.112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5655,
"after": 3.0,
"delta": 0.4345,
"percent_delta": 0.1694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2864,
"after": 0.0,
"delta": -0.2864,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4182,
"after": 0.0,
"delta": -0.4182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0481,
"after": 0.0,
"delta": -0.0481,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1455,
"after": 0.0,
"delta": -0.1455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6503,
"after": 1.0,
"delta": 0.3497,
"percent_delta": 0.5378,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5655,
"after": 3.0,
"delta": 0.4345,
"percent_delta": 0.1694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4182,
"after": 0.0,
"delta": -0.4182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3147,
"after": 0.0,
"delta": -0.3147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.3147,
"after": 0.0,
"delta": -0.3147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": {},
"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.163,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.253,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.273,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.163,
"after": 0.163,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2471,
"after": 0.253,
"delta": 0.0059,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.273,
"after": 0.273,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2471,
"after": 0.253,
"delta": 0.0059,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.163,
"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.2471,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.273,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.163,
"after": 0.163,
"delta": 0.0,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2471,
"delta": -0.0059,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.273,
"after": 0.273,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2471,
"delta": -0.0059,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.507,
"after": 2.0,
"delta": -0.507,
"percent_delta": -0.2022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.329,
"after": 0.163,
"delta": -0.166,
"percent_delta": -0.5046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.239,
"after": 1.0,
"delta": 0.761,
"percent_delta": 3.1841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.2471,
"delta": -0.0849,
"percent_delta": -0.2557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.284,
"after": 0.0,
"delta": -0.284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.273,
"delta": -0.082,
"percent_delta": -0.231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.701,
"after": 0.0,
"delta": -0.701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.239,
"after": 1.0,
"delta": 0.761,
"percent_delta": 3.1841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.701,
"after": 0.0,
"delta": -0.701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.507 | - |
| predicted_AVG | 0.329 | - |
| predicted_BB | 0.239 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.284 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 0.701 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.112 | -0.007 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 2.566 | 0.058 |
| predicted_AVG | 0.287 | -0.042 |
| predicted_BB | 0.283 | 0.044 |
| predicted_H | 0.405 | 0.135 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.046 | 0.006 |
| predicted_OBP | 0.326 | -0.006 |
| predicted_R | 0.297 | 0.014 |
| predicted_RBI | 0.138 | 0.018 |
| predicted_SLG | 0.347 | -0.008 |
| predicted_SO | 0.659 | -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.112 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 2.566 | 0.000 |
| predicted_AVG | 0.163 | -0.124 |
| predicted_BB | 0.286 | 0.004 |
| predicted_H | 0.418 | 0.014 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.048 | 0.002 |
| predicted_OBP | 0.247 | -0.079 |
| predicted_R | 0.315 | 0.017 |
| predicted_RBI | 0.145 | 0.008 |
| predicted_SLG | 0.273 | -0.074 |
| predicted_SO | 0.650 | -0.009 |
AB rounded to 3 (raw=2.57), rates preserved: AVG=0.163 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.112 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | 0.434 |
| predicted_AVG | 0.163 | 0.000 |
| predicted_BB | 0.000 | -0.286 |
| predicted_H | 1.000 | 0.582 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.253 | 0.006 |
| predicted_R | 0.000 | -0.315 |
| predicted_RBI | 0.000 | -0.145 |
| predicted_SLG | 0.273 | 0.000 |
| predicted_SO | 1.000 | 0.350 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 12.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.1667 | 0.3333 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.2500 | 0.1667 |
| last_10 | 0.20 | 10 | - | 24.000 | 6.000 | 1.000 | 0.000 | 1.000 | 1.000 | 4.000 | 4.000 | 3.000 | 0.2500 | 0.3571 | 0.4167 | 0.2500 | 0.0417 | 0.0417 | 0.1667 | 0.1250 |
| season | 0.60 | 67 | - | 168.000 | 39.000 | 8.000 | 1.000 | 3.000 | 12.000 | 19.000 | 16.000 | 47.000 | 0.2321 | 0.3011 | 0.3452 | 0.2321 | 0.0179 | 0.0714 | 0.0952 | 0.2798 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0100 |
| predicted_AB | 2.6500 |
| predicted_AVG | 0.2261 |
| predicted_BB | 0.3460 |
| predicted_H | 0.5990 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.3169 |
| predicted_R | 0.3170 |
| predicted_RBI | 0.1630 |
| predicted_SLG | 0.3355 |
| predicted_SO | 0.5980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1190 | 0.1020 | 0.1120 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0130 | model_form_blend |
| predicted_AB | 2.5070 | 2.6500 | 2.5655 | model_form_blend |
| predicted_AVG | 0.3290 | 0.2261 | 0.2869 | model_form_blend |
| predicted_BB | 0.2390 | 0.3460 | 0.2828 | model_form_blend |
| predicted_H | 0.2700 | 0.5990 | 0.4047 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0400 | 0.0560 | 0.0465 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3169 | 0.3258 | model_form_blend |
| predicted_R | 0.2840 | 0.3170 | 0.2975 | model_form_blend |
| predicted_RBI | 0.1200 | 0.1630 | 0.1376 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3355 | 0.3470 | model_form_blend |
| predicted_SO | 0.7010 | 0.5980 | 0.6588 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260819_LAD@COL |
| game_type | short |
| mlbID | 676439 |
| playerID | 676439 |
| playerName | Hunter Feduccia |
| pos | C |
| started | False |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.293 |
| sl_xwoba | 0.32 |
| sl_xba | 0.249 |
| sl_xslg | 0.396 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 39.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 43.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 0.000 | 0.000 | Hitting_2B | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 3.520 | 3.000 | 4.000 | Hitting_AB | 3.654 | 4.000 | -0.654 | -1.000 |
| predicted_AVG | 0.229 | 0.000 | 0.250 | Hitting_AVG | 0.252 | 0.250 | -0.252 | -0.250 |
| predicted_BB | 0.308 | 0.000 | 0.000 | Hitting_BB | 0.335 | 1.000 | -0.335 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 0.000 | 1.000 | Hitting_H | 0.921 | 1.000 | -0.921 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.296 | 0.000 | 0.250 | Hitting_OBP | 0.317 | 0.400 | -0.317 | -0.400 |
| predicted_R | 0.538 | 0.000 | 0.000 | Hitting_R | 0.580 | 1.000 | -0.580 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.504 | 0.000 | -0.504 | 0.000 |
| predicted_SLG | 0.398 | 0.000 | 0.250 | Hitting_SLG | 0.400 | 0.250 | -0.400 | -0.250 |
| predicted_SO | 1.044 | 0.000 | 1.000 | Hitting_SO | 1.073 | 2.000 | -1.073 | -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_AVG: 0.2290 -> 0.2483 (boost 0.0193, better) |
| Biggest Deboost | predicted_SO: 1.0440 -> 0.0000 (deboost -1.0440, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AVG: 0.2290 -> 0.2396 (boost 0.0106, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2396 -> 0.2483 (boost 0.0087, better) | predicted_SLG: 0.3998 -> 0.3847 (deboost -0.0151, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_AB: 3.5174 -> 4.0000 (boost 0.4826, better) | predicted_RBI: 0.3774 -> 0.0000 (deboost -0.3774, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.248 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5514 -> 1.0000 (boost 0.4486, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | lineup_integer_allocation | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Lineup-level largest-remainder allocation so team totals match the summed model expectation |
| 7 | embedded_savant_player_context | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"position": "LF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.011,
"predicted_AB": 3.52,
"predicted_AVG": 0.229,
"predicted_BB": 0.308,
"predicted_H": 0.81,
"predicted_HR": 0.09,
"predicted_OBP": 0.296,
"predicted_R": 0.538,
"predicted_RBI": 0.35,
"predicted_SLG": 0.398,
"predicted_SO": 1.044
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1537,
"predicted_3B": 0.0328,
"predicted_AB": 3.5174,
"predicted_AVG": 0.2396,
"predicted_BB": 0.2896,
"predicted_H": 0.845,
"predicted_HBP": 0.014,
"predicted_HR": 0.084,
"predicted_OBP": 0.3009,
"predicted_R": 0.5213,
"predicted_RBI": 0.3568,
"predicted_SLG": 0.3998,
"predicted_SO": 1.0384
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1537,
"delta": 0.0107,
"percent_delta": 0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0328,
"delta": 0.0218,
"percent_delta": 1.9818,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.52,
"after": 3.5174,
"delta": -0.0026,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2396,
"delta": 0.0106,
"percent_delta": 0.0463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.308,
"after": 0.2896,
"delta": -0.0184,
"percent_delta": -0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.845,
"delta": 0.035,
"percent_delta": 0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.084,
"delta": -0.006,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3009,
"delta": 0.0049,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.5213,
"delta": -0.0167,
"percent_delta": -0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3568,
"delta": 0.0068,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3998,
"delta": 0.0018,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.044,
"after": 1.0384,
"delta": -0.0056,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2396,
"delta": 0.0106,
"percent_delta": 0.0463,
"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": 91
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1537,
"predicted_3B": 0.0328,
"predicted_AB": 3.5174,
"predicted_AVG": 0.2483,
"predicted_BB": 0.2933,
"predicted_H": 0.8732,
"predicted_HBP": 0.014,
"predicted_HR": 0.0868,
"predicted_OBP": 0.3061,
"predicted_R": 0.5514,
"predicted_RBI": 0.3774,
"predicted_SLG": 0.3847,
"predicted_SO": 1.025
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1537,
"after": 0.1537,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0328,
"after": 0.0328,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5174,
"after": 3.5174,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2396,
"after": 0.2483,
"delta": 0.0087,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2896,
"after": 0.2933,
"delta": 0.0037,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.845,
"after": 0.8732,
"delta": 0.0282,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.084,
"after": 0.0868,
"delta": 0.0028,
"percent_delta": 0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3009,
"after": 0.3061,
"delta": 0.0052,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5213,
"after": 0.5514,
"delta": 0.0301,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3568,
"after": 0.3774,
"delta": 0.0206,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3998,
"after": 0.3847,
"delta": -0.0151,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0384,
"after": 1.025,
"delta": -0.0134,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_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.2396,
"after": 0.2483,
"delta": 0.0087,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3998,
"after": 0.3847,
"delta": -0.0151,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.52), rates preserved: AVG=0.248 HR/AB=0.025",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1537,
"after": 0.0,
"delta": -0.1537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0328,
"after": 0.0,
"delta": -0.0328,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5174,
"after": 4.0,
"delta": 0.4826,
"percent_delta": 0.1372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2933,
"after": 0.0,
"delta": -0.2933,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8732,
"after": 1.0,
"delta": 0.1268,
"percent_delta": 0.1452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0868,
"after": 0.0,
"delta": -0.0868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3774,
"after": 0.0,
"delta": -0.3774,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.025,
"after": 1.0,
"delta": -0.025,
"percent_delta": -0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5174,
"after": 4.0,
"delta": 0.4826,
"percent_delta": 0.1372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3774,
"after": 0.0,
"delta": -0.3774,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "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.5514,
"after": 1.0,
"delta": 0.4486,
"percent_delta": 0.8136,
"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.5514,
"after": 1.0,
"delta": 0.4486,
"percent_delta": 0.8136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "lineup_integer_allocation",
"description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
"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_R": 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_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_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.248,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.311,
"predicted_R": 1.0,
"predicted_RBI": 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.2483,
"after": 0.248,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3061,
"after": 0.311,
"delta": 0.0049,
"percent_delta": 0.016,
"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_SLG",
"before": 0.3847,
"after": 0.384,
"delta": -0.0007,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2483,
"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.3061,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3847,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2483,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3061,
"delta": -0.0049,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.3847,
"delta": 0.0007,
"percent_delta": 0.0017,
"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": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.52,
"after": 3.0,
"delta": -0.52,
"percent_delta": -0.1477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2483,
"delta": 0.0193,
"percent_delta": 0.0843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.0,
"delta": -0.81,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3061,
"delta": 0.0101,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3847,
"delta": -0.0133,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.044,
"after": 0.0,
"delta": -1.044,
"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_AVG",
"before": 0.229,
"after": 0.2483,
"delta": 0.0193,
"percent_delta": 0.0843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.044,
"after": 0.0,
"delta": -1.044,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.520 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.308 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.538 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 1.044 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.011 |
| predicted_3B | 0.033 | 0.022 |
| predicted_AB | 3.517 | -0.003 |
| predicted_AVG | 0.240 | 0.011 |
| predicted_BB | 0.290 | -0.018 |
| predicted_H | 0.845 | 0.035 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.084 | -0.006 |
| predicted_OBP | 0.301 | 0.005 |
| predicted_R | 0.521 | -0.017 |
| predicted_RBI | 0.357 | 0.007 |
| predicted_SLG | 0.400 | 0.002 |
| predicted_SO | 1.038 | -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.154 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.517 | 0.000 |
| predicted_AVG | 0.248 | 0.009 |
| predicted_BB | 0.293 | 0.004 |
| predicted_H | 0.873 | 0.028 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.087 | 0.003 |
| predicted_OBP | 0.306 | 0.005 |
| predicted_R | 0.551 | 0.030 |
| predicted_RBI | 0.377 | 0.021 |
| predicted_SLG | 0.385 | -0.015 |
| predicted_SO | 1.025 | -0.013 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.248 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, 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 |
Lineup-level largest-remainder allocation so team totals match the summed model expectation
| Metric | Value | 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 |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Player 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.033 |
| predicted_AB | 4.000 | 0.483 |
| predicted_AVG | 0.248 | -0.000 |
| predicted_BB | 0.000 | -0.293 |
| predicted_H | 1.000 | 0.127 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.311 | 0.005 |
| predicted_R | 1.000 | 0.449 |
| predicted_RBI | 0.000 | -0.377 |
| predicted_SLG | 0.384 | -0.001 |
| predicted_SO | 1.000 | -0.025 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 1.000 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 6.000 | 0.2632 | 0.3000 | 0.4211 | 0.2632 | 0.0000 | 0.0526 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 2.000 | 1.000 | 0.000 | 2.000 | 3.000 | 2.000 | 9.000 | 0.2581 | 0.3030 | 0.3871 | 0.2581 | 0.0000 | 0.0645 | 0.0645 | 0.2903 |
| season | 0.60 | 91 | - | 320.000 | 80.000 | 13.000 | 1.000 | 11.000 | 42.000 | 49.000 | 28.000 | 95.000 | 0.2500 | 0.3116 | 0.4000 | 0.2500 | 0.0344 | 0.1313 | 0.0875 | 0.2969 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0620 |
| predicted_AB | 3.5140 |
| predicted_AVG | 0.2538 |
| predicted_BB | 0.2650 |
| predicted_H | 0.8920 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0760 |
| predicted_OBP | 0.3074 |
| predicted_R | 0.4990 |
| predicted_RBI | 0.3660 |
| predicted_SLG | 0.4021 |
| predicted_SO | 1.0310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1680 | 0.1537 | model_form_blend |
| predicted_3B | 0.0110 | 0.0620 | 0.0328 | model_form_blend |
| predicted_AB | 3.5200 | 3.5140 | 3.5174 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2538 | 0.2396 | model_form_blend |
| predicted_BB | 0.3080 | 0.2650 | 0.2896 | model_form_blend |
| predicted_H | 0.8100 | 0.8920 | 0.8450 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0900 | 0.0760 | 0.0840 | model_form_blend |
| predicted_OBP | 0.2960 | 0.3074 | 0.3009 | model_form_blend |
| predicted_R | 0.5380 | 0.4990 | 0.5213 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3660 | 0.3568 | model_form_blend |
| predicted_SLG | 0.3980 | 0.4021 | 0.3998 | model_form_blend |
| predicted_SO | 1.0440 | 1.0310 | 1.0384 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 355 |
| Season rows before report date | 355 |
| Report year | 2026 |
| Profile rows used | 91 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260819_LAD@COL |
| game_type | full |
| mlbID | 606192 |
| playerID | 606192 |
| playerName | Teoscar Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.313 |
| sl_xwoba | 0.318 |
| sl_xba | 0.247 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 43.9 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 31.6 |
| sl_swing_percent | 47.2 |
| at_bat_number | 78.0 |
| ab_pitcher | 623474.0 |
| ab_pitcher_name | Herget, Jimmy |
| ab_home_team | COL |
| ab_away_team | LAD |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_2b_start | 681624.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 4.0 |
| ab_event | single |
| ab_event_description | Teoscar Hernández singles on a line drive to left fielder Jake McCarthy. Andy Pages to 3rd. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 7.0 |
| ab_launch_speed_last | 100.7 |
| ab_launch_angle_last | 13.0 |
| ab_hit_distance_last | 257.0 |
| ab_estimated_ba_last | 0.934 |
| ab_estimated_woba_last | 0.915 |
| ab_estimated_slg_last | 1.178 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 87.23333333333333 |
| ab_release_spin_rate_avg | 2523.0 |
| ab_effective_speed_avg | 86.0 |
| ab_launch_speed_avg | 100.7 |
| ab_launch_angle_avg | 13.0 |
| ab_delta_run_exp_avg | 0.163 |
| ab_delta_home_win_exp_avg | -0.0476666666666666 |
| ab_delta_pitcher_run_exp_avg | -0.163 |
| ab_bat_speed_avg | 77.2 |
| ab_swing_length_avg | 8.2 |
| ab_launch_speed_max | 100.7 |
| ab_hit_distance_sc_max | 257.0 |
| ab_release_speed_max | 91.0 |
| ab_release_spin_rate_max | 2657.0 |
| ab_release_speed_min | 85.1 |
| ab_release_spin_rate_min | 2311.0 |
| ab_delta_run_exp_sum | 0.489 |
| ab_delta_home_win_exp_sum | -0.143 |
| ab_delta_pitcher_run_exp_sum | -0.489 |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.545 | 2.000 | 1.455 | 1.000 |
| predicted_ER | 2.000 | 1.000 | 2.000 | Pitching_ER | 1.909 | 1.000 | -0.909 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 4.364 | 4.000 | -2.364 | -2.000 |
| predicted_IP | 6.200 | 6.200 | 6.200 | Pitching_InningsPitched | 6.532 | 6.000 | -0.332 | 0.200 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 6.182 | 9.000 | -0.182 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 6.6667 -> 6.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) | predicted_IP: 6.6667 -> 6.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": "808967",
"player_name": "Yoshinobu Yamamoto",
"position": "Starter",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_R": 1.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.667 | - |
| predicted_SO | 5.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | -0.467 |
| predicted_SO | 6.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 34.200 | 7.000 | 20.000 | 9.000 | 30.000 | 3.000 | 1.8173 | 0.8365 | 0.2019 | 0.5769 | 0.2596 | 0.8654 | 0.0865 |
| last_10 | 0.35 | 10 | 68.000 | 19.000 | 40.000 | 19.000 | 63.000 | 6.000 | 2.5147 | 0.8676 | 0.2794 | 0.5882 | 0.2794 | 0.9265 | 0.0882 |
| season | 0.20 | 22 | 145.100 | 42.000 | 96.000 | 34.000 | 136.000 | 15.000 | 2.6009 | 0.8945 | 0.2890 | 0.6605 | 0.2339 | 0.9358 | 0.1032 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9070 |
| predicted_ER | 1.9930 |
| predicted_ERA | 2.6427 |
| predicted_H | 4.5280 |
| predicted_HR | 0.6850 |
| predicted_IP | 6.2000 |
| predicted_SO | 6.1800 |
| predicted_WHIP | 0.9478 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.9070 | 2.3751 | model_form_blend |
| predicted_ER | 1.0000 | 1.9930 | 1.5678 | model_form_blend |
| predicted_ERA | - | 2.6427 | 2.6427 | form_only |
| predicted_H | 2.0000 | 4.5280 | 3.4454 | model_form_blend |
| predicted_HR | 0.0000 | 0.6850 | 0.3917 | model_form_blend |
| predicted_IP | 6.2000 | 6.2000 | 6.2000 | model_form_blend |
| predicted_SO | 5.0000 | 6.1800 | 5.6747 | model_form_blend |
| predicted_WHIP | - | 0.9478 | 0.9478 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 22 |
| Season rows before report date | 22 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.2 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 6 |
| HR | 0 |
| BF | 25 |
| Pitches | 103 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.60 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 97 |
| Pitching_R | 1 |
| Pitching_SO | 9 |
| Pitching_Strikes | 69 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260814_MIL@LAD |
| game_type | full |
| mlbID | 808967 |
| playerID | 808967 |
| playerName | Yoshinobu Yamamoto |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-14 |
| game_pk | 823913.0 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.245 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 35.9 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 49.1 |
| sv_pitch_count | 97.0 |
| sv_outs_recorded_est | 17.0 |
| sv_release_speed | 91.25567010309278 |
| sv_release_spin_rate | 2313.01030927835 |
| sv_effective_speed | 91.64742268041236 |
| sv_launch_speed | 81.12142857142858 |
| sv_launch_angle | 2.2142857142857144 |
| sv_woba_value | 6.6 |
| sv_woba_denom | 23.0 |
| sv_delta_run_exp | -1.254 |
| sv_delta_home_win_exp | 0.229 |
| sl_avg_best_speed | 76.177745904 |
| sl_avg_hyper_speed | 93.771152553 |
| 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.460 | 0.000 | 0.540 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.340 | 0.000 | 0.660 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.600 | 0.000 | 1.400 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.874 | 1.000 | 0.126 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.080 | 2.000 | -1.080 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683618",
"player_name": "Edgardo Henriquez",
"position": "Setup Man",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 1.000 | 1.000 | 4.000 | 0.000 | 2.2500 | 0.5000 | 0.2500 | 0.2500 | 0.2500 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 4.000 | 6.000 | 5.000 | 12.000 | 0.000 | 4.3200 | 1.3200 | 0.4800 | 0.7200 | 0.6000 | 1.4400 | 0.0000 |
| season | 0.20 | 50 | 50.000 | 17.000 | 30.000 | 23.000 | 54.000 | 1.000 | 3.0600 | 1.0600 | 0.3400 | 0.6000 | 0.4600 | 1.0800 | 0.0200 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3280 |
| predicted_ER | 0.3280 |
| predicted_ERA | 3.5938 |
| predicted_H | 0.5320 |
| predicted_HR | 0.0420 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9020 |
| predicted_WHIP | 1.0453 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3280 | 0.6577 | model_form_blend |
| predicted_ER | 1.0000 | 0.3280 | 0.6577 | model_form_blend |
| predicted_ERA | - | 3.5938 | 3.5938 | form_only |
| predicted_H | 2.0000 | 0.5320 | 1.2522 | model_form_blend |
| predicted_HR | 1.0000 | 0.0420 | 0.5120 | model_form_blend |
| predicted_IP | 1.0000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9020 | 0.9501 | model_form_blend |
| predicted_WHIP | - | 1.0453 | 1.0453 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 50 |
| Season rows before report date | 50 |
| Report year | 2026 |
| Profile rows used | 50 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 1 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.06 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260818_LAD@COL |
| game_type | full |
| mlbID | 683618 |
| playerID | 683618 |
| playerName | Edgardo Henriquez |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-18 |
| game_pk | 824319.0 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.252 |
| sl_xwoba | 0.253 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 25.8 |
| sl_whiff_percent | 29.6 |
| sl_swing_percent | 48.5 |
| sv_pitch_count | 8.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.9625 |
| sv_release_spin_rate | 2747.25 |
| sv_effective_speed | 94.1 |
| sv_launch_speed | 92.0 |
| sv_launch_angle | 34.5 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.781 |
| sv_delta_home_win_exp | -0.056 |
| sl_avg_best_speed | 70.502481379 |
| sl_avg_hyper_speed | 92.008165776 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.655 | 0.000 | -0.655 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.853 | 1.000 | 0.147 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.145 | 1.000 | -1.145 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656945",
"player_name": "Tanner Scott",
"position": "Closer",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 3.000 | 1.000 | 3.000 | 0.000 | 1.9286 | 0.8571 | 0.2143 | 0.6429 | 0.2143 | 0.6429 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 2.000 | 8.000 | 5.000 | 8.000 | 0.000 | 2.0769 | 1.5000 | 0.2308 | 0.9231 | 0.5769 | 0.9231 | 0.0000 |
| season | 0.20 | 55 | 51.100 | 13.000 | 36.000 | 11.000 | 63.000 | 4.000 | 2.2792 | 0.9156 | 0.2532 | 0.7013 | 0.2143 | 1.2273 | 0.0779 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3490 |
| predicted_ER | 0.3170 |
| predicted_ERA | 2.8550 |
| predicted_H | 0.8240 |
| predicted_HR | 0.0590 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8890 |
| predicted_WHIP | 1.1739 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3490 | 0.1786 | model_form_blend |
| predicted_ER | 0.0000 | 0.3170 | 0.1623 | model_form_blend |
| predicted_ERA | - | 2.8550 | 2.8550 | form_only |
| predicted_H | 0.0000 | 0.8240 | 0.4218 | model_form_blend |
| predicted_HR | 0.0000 | 0.0590 | 0.0302 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8890 | 0.4550 | model_form_blend |
| predicted_WHIP | - | 1.1739 | 1.1739 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 55 |
| Season rows before report date | 55 |
| Report year | 2026 |
| Profile rows used | 55 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.28 |
| 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 | 8 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260819_LAD@COL |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 32.0 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.241 |
| sl_xwoba | 0.272 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 33.6 |
| sl_whiff_percent | 35.7 |
| sl_swing_percent | 55.8 |
| sv_pitch_count | 8.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 94.9375 |
| sv_release_spin_rate | 2587.0 |
| sv_effective_speed | 95.7 |
| sv_launch_speed | 79.56 |
| sv_launch_angle | 60.4 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.8400000000000001 |
| sv_delta_home_win_exp | -0.211 |
| sl_avg_best_speed | 78.572954167 |
| sl_avg_hyper_speed | 93.372978333 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.967 | 1.000 | -0.867 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.067 | 2.000 | -1.067 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "592779",
"player_name": "Brock Stewart",
"position": "Middle Reliever (High Leverage)",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 1.000 | 1.000 | 0.000 | 6.000 | 0.000 | 1.5000 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 3.000 | 4.000 | 2.000 | 11.000 | 1.000 | 2.5312 | 0.5625 | 0.2812 | 0.3750 | 0.1875 | 1.0312 | 0.0938 |
| season | 0.20 | 15 | 15.200 | 4.000 | 6.000 | 5.000 | 16.000 | 2.000 | 2.2979 | 0.7021 | 0.2553 | 0.3830 | 0.3191 | 1.0213 | 0.1277 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1780 |
| predicted_ER | 0.2560 |
| predicted_ERA | 3.5499 |
| predicted_H | 0.4580 |
| predicted_HR | 0.0730 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6330 |
| predicted_WHIP | 0.9813 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1780 | 0.0695 | model_form_blend |
| predicted_ER | 0.0000 | 0.2560 | 0.1000 | model_form_blend |
| predicted_ERA | - | 3.5499 | 3.5499 | form_only |
| predicted_H | 0.0000 | 0.4580 | 0.1788 | model_form_blend |
| predicted_HR | 0.0000 | 0.0730 | 0.0285 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6330 | 0.2472 | model_form_blend |
| predicted_WHIP | - | 0.9813 | 0.9813 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 15 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 1 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260819_LAD@COL |
| game_type | full |
| mlbID | 592779 |
| playerID | 592779 |
| playerName | Brock Stewart |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-19 |
| game_pk | 824318.0 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.199 |
| sl_xwoba | 0.214 |
| sl_sweet_spot_percent | 21.6 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 21.6 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 48.7 |
| sv_pitch_count | 15.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.00666666666666 |
| sv_release_spin_rate | 2456.6 |
| sv_effective_speed | 93.32 |
| sv_launch_speed | 75.0 |
| sv_launch_angle | -8.75 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.783 |
| sv_delta_home_win_exp | -0.075 |
| sl_avg_best_speed | 68.311269474 |
| sl_avg_hyper_speed | 91.700466486 |